Merge branch 'master' into feature-40314/Electronic_Onboarding_Anbindung_IDA

This commit is contained in:
Alexei Karpenko
2025-09-18 17:39:31 +02:00
859 changed files with 98833 additions and 9210 deletions
+857
View File
@@ -0,0 +1,857 @@
/* basic */
@import '../components/searchbar/searchbar.css';
@import '../components/Sprachen.css';
@import './Cis/Calendar.css';
html {
font-size: 0.875em;
}
.fhc-dark-bg{
background-color: var(--fhc-dark);
color:var(--fhc-light) !important;
}
.fhc-dark-color {
color: var(--fhc-dark);
}
.fhc-dark-bg:hover{
filter: brightness(120%);
}
.fhc-primary{
background-color: var(--fhc-primary) !important;
color: var(--fhc-light) !important;
}
.fhc-primary-color{
color: var(--fhc-primary) !important;
}
.fhc-primary-bg {
background-color: var(--fhc-primary) !important;
}
.fhc-primary-highlight-bg {
background-color: var(--fhc-primary-highlight) !important;
}
.fhc-primary-highlight-color {
color: var(--fhc-primary-highlight) !important;
}
.fhc-body-bg{
background-color:var(--fhc-background) !important;
}
.fhc-body-color{
color: var(--fhc-text) !important;
}
.fhc-secondary-bg{
background-color: var(--fhc-tertiary) !important;
}
.fhc-secondary-color {
color: var(--fhc-tertiary) !important;
}
.fhc-tertiary-bg{
background-color: var(--fhc-secondary) !important;
}
.fhc-tertiary-color {
color: var(--fhc-secondary) !important;
}
.fhc-fourth-bg {
background-color: var(--fhc-fourth) !important;
}
.fhc-fourth-color {
color: var(--fhc-fourth) !important;
}
.fhc-fifth-bg {
background-color: var(--fhc-fifth) !important;
}
.fhc-fifth-color {
color: var(--fhc-fifth) !important;
}
.fhc-body{
color:var(--fhc-text);
background-color: var(--fhc-background);
border-color: var(--fhc-border);
}
.fhc-secondary {
color: var(--fhc-text);
background-color: var(--fhc-tertiary);
border-color: var(--fhc-border);
}
.fhc-tertiary{
color: var(--fhc-text);
background-color: var(--fhc-secondary);
border-color:var(--fhc-border);
}
.fhc-link-color{
color: var(--fhc-link);
}
.fhc-text{
color: var(--fhc-text) !important;
}
.fhc-text-light{
color: var(--fhc-light) !important;
}
:root{
/* sidebar colors */
--fhc-cis-sidebar-bg: var(--fhc-secondary);
--fhc-cis-menu-bg: var(--fhc-secondary);
--fhc-cis-header-px: 1rem;
--fhc-cis-header-py: .5rem;
--fhc-cis-main-px: 1.5rem;
--fhc-cis-main-py: 1.5rem;
--fhc-cis-menu-lvl-1-bg: var(--fhc-primary);
--fhc-cis-menu-lvl-1-color: var(--fhc-light);
--fhc-cis-menu-lvl-1-bg-hover: var(--fhc-primary-highlight);
--fhc-cis-menu-lvl-1-color-hover: var(--fhc-light);
--fhc-cis-menu-lvl-2-bg: var(--fhc-secondary);
--fhc-cis-menu-lvl-2-color: var(--fhc-text);
--fhc-cis-menu-lvl-2-bg-hover: var(--fhc-secondary-highlight);
--fhc-cis-menu-lvl-2-color-hover: var(--fhc-text);
--fhc-cis-menu-lvl-3-bg: var(--fhc-tertiary);
--fhc-cis-menu-lvl-3-color: var(--fhc-text);
--fhc-cis-menu-lvl-3-bg-hover: var(--fhc-tertiary-highlight);
--fhc-cis-menu-lvl-3-color-hover: var(--fhc-text);
--fhc-cis-menu-lvl-4-bg: var(--fhc-fourth);
--fhc-cis-menu-lvl-4-color: var(--fhc-text);
--fhc-cis-menu-lvl-4-bg-hover: var(--fhc-fourth-highlight);
--fhc-cis-menu-lvl-4-color-hover: var(--fhc-text);
--fhc-cis-menu-lvl-5-bg: var(--fhc-fifth);
--fhc-cis-menu-lvl-5-color: var(--fhc-text);
--fhc-cis-menu-lvl-5-bg-hover: var(--fhc-fifth-highlight);
--fhc-cis-menu-lvl-5-color-hover: var(--fhc-text);
--fhc-cis-grade-positive: var(--fhc-success);
--fhc-cis-grade-negative: var(--fhc-danger);
}
#themeSwitch i{
color: var(fhc-light) !important;
}
@media (min-width: 992px) {
:root {
--fhc-cis-menu-width: 250px;
--fhc-cis-header-height: 60px;
}
}
@media (max-width: 991.98px) {
:root {
--fhc-cis-menu-width: 400px;
--fhc-cis-header-height: 40px;
}
}
/* lvMenu entry style */
#cis-menu .menu-entry {
color: var(--fhc-text);
}
#cis-menu .menu-entry .submenu{
background-color: var(--fhc-background-highlight);
color: inherit;
}
#cis-menu .menu-entry:hover .submenu{
background-color: var(--fhc-primary-highlight);
color: inherit;
}
#cis-menu .menu-entry:hover .submenu:hover{
color: var(--fhc-dark);
}
#cis-menu [disabled="true"].menu-entry .submenu{
opacity: 0.5;
background-color: var(--fhc-secondary)
}
[disabled="true"].menu-entry {
pointer-events: none;
cursor: default;
background-color: var(--fhc-disabled) !important;
color: var(--fhc-dark) !important;
opacity: 0.75;
-webkit-touch-callout: none;
/* iOS Safari */
-webkit-user-select: none;
/* Safari */
-khtml-user-select: none;
/* Konqueror HTML */
-moz-user-select: none;
/* Old versions of Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
}
#cis-menu .menu-entry:hover{
background-color: var(--fhc-primary);
color:var(--fhc-light);
}
/* lvMenu entry disabled style */
[disabled="true"].menu-entry {
pointer-events: none;
cursor: default;
background-color: #dadada !important;
color: black !important;
-webkit-touch-callout: none;
/* iOS Safari */
-webkit-user-select: none;
/* Safari */
-khtml-user-select: none;
/* Konqueror HTML */
-moz-user-select: none;
/* Old versions of Firefox */
-ms-user-select: none;
/* Internet Explorer/Edge */
user-select: none;
}
/* buttons */
#cis-header .btn-level-1,
#cis-header .btn-level-1 + .btn,
#cis-nav .btn-level-1,
#cis-nav .btn-level-1 + .btn {
color: var(--fhc-cis-menu-lvl-1-color);
/* border-color: var(--fhc-cis-menu-lvl-1-border); */
background-color: var(--fhc-cis-menu-lvl-1-bg);
}
#cis-header .btn-level-1:hover, #cis-header .btn-level-1:focus,
#cis-header .btn-level-1 + .btn:hover,
#cis-header .btn-level-1 + .btn:focus,
#cis-nav .btn-level-1:hover,
#cis-nav .btn-level-1:focus,
#cis-nav .btn-level-1 + .btn:hover,
#cis-nav .btn-level-1 + .btn:focus {
color: var(--fhc-cis-menu-lvl-1-color-hover);
/* border-color: var(--fhc-cis-menu-lvl-1-border-hover); */
background-color: var(--fhc-cis-menu-lvl-1-bg-hover);
}
/* makes the dropdown button darker for level1*/
#cis-header .btn-level-1+.btn:not(.btn-level-1){
background-color:var(--fhc-cis-menu-lvl-1-bg-hover) !important;
}
/* makes the dropdown button darker for level2*/
#cis-header .btn-level-2+.btn:not(.btn-level-2){
background-color: var(--fhc-cis-menu-lvl-2-bg-hover) !important;
}
/* makes the dropdown button darker for level3*/
#cis-header .btn-level-3+.btn:not(.btn-level-3){
background-color: var(--fhc-cis-menu-lvl-3-bg-hover) !important;
}
/* makes the dropdown button darker for level4*/
#cis-header .btn-level-4+.btn:not(.btn-level-4){
background-color: var(--fhc-cis-menu-lvl-4-bg-hover) !important;
}
/* makes the dropdown button darker for level5*/
#cis-header .btn-level-5+.btn:not(.btn-level-5){
background-color: var(--fhc-cis-menu-lvl-5-bg-hover) !important;
}
#cis-header .btn-level-2,
#cis-header .btn-level-2 + .btn,
#cis-nav .btn-level-2,
#cis-nav .btn-level-2 + .btn {
color: var(--fhc-cis-menu-lvl-2-color);
/* border-color: var(--fhc-cis-menu-lvl-2-border); */
background-color: var(--fhc-cis-menu-lvl-2-bg);
}
#cis-header .btn-level-2:hover, #cis-header .btn-level-2:focus,
#cis-header .btn-level-2 + .btn:hover,
#cis-header .btn-level-2 + .btn:focus,
#cis-nav .btn-level-2:hover,
#cis-nav .btn-level-2:focus,
#cis-nav .btn-level-2 + .btn:hover,
#cis-nav .btn-level-2 + .btn:focus {
color: var(--fhc-cis-menu-lvl-2-color-hover);
/* border-color: var(--fhc-cis-menu-lvl-2-border-hover); */
background-color: var(--fhc-cis-menu-lvl-2-bg-hover);
}
#cis-header .btn-level-3,
#cis-header .btn-level-3 + .btn,
#cis-nav .btn-level-3,
#cis-nav .btn-level-3 + .btn {
color: var(--fhc-cis-menu-lvl-3-color);
/* border-color: var(--fhc-cis-menu-lvl-3-border); */
background-color: var(--fhc-cis-menu-lvl-3-bg);
}
#cis-header .btn-level-3:hover, #cis-header .btn-level-3:focus,
#cis-header .btn-level-3 + .btn:hover,
#cis-header .btn-level-3 + .btn:focus,
#cis-nav .btn-level-3:hover,
#cis-nav .btn-level-3:focus,
#cis-nav .btn-level-3 + .btn:hover,
#cis-nav .btn-level-3 + .btn:focus {
color: var(--fhc-cis-menu-lvl-3-color-hover);
/* border-color: var(--fhc-cis-menu-lvl-3-border-hover); */
background-color: var(--fhc-cis-menu-lvl-3-bg-hover);
}
#cis-header .btn-level-4,
#cis-header .btn-level-4 + .btn,
#cis-nav .btn-level-4,
#cis-nav .btn-level-4 + .btn {
color: var(--fhc-cis-menu-lvl-4-color);
/* border-color: var(--fhc-cis-menu-lvl-4-border); */
background-color: var(--fhc-cis-menu-lvl-4-bg);
}
#cis-header .btn-level-4:hover, #cis-header .btn-level-4:focus,
#cis-header .btn-level-4 + .btn:hover,
#cis-header .btn-level-4 + .btn:focus,
#cis-nav .btn-level-4:hover,
#cis-nav .btn-level-4:focus,
#cis-nav .btn-level-4 + .btn:hover,
#cis-nav .btn-level-4 + .btn:focus {
color: var(--fhc-cis-menu-lvl-4-color-hover);
/* border-color: var(--fhc-cis-menu-lvl-4-border-hover); */
background-color: var(--fhc-cis-menu-lvl-4-bg-hover);
}
#cis-header .btn-level-5,
#cis-header .btn-level-5 + .btn,
#cis-nav .btn-level-5,
#cis-nav .btn-level-5 + .btn {
color: var(--fhc-cis-menu-lvl-5-color);
/* border-color: var(--fhc-cis-menu-lvl-5-border); */
background-color: var(--fhc-cis-menu-lvl-5-bg);
}
#cis-header .btn-level-5:hover, #cis-header .btn-level-5:focus,
#cis-header .btn-level-5 + .btn:hover,
#cis-header .btn-level-5 + .btn:focus,
#cis-nav .btn-level-5:hover,
#cis-nav .btn-level-5:focus,
#cis-nav .btn-level-5 + .btn:hover,
#cis-nav .btn-level-5 + .btn:focus {
color: var(--fhc-cis-menu-lvl-5-color-hover);
/* border-color: var(--fhc-cis-menu-lvl-5-border-hover); */
background-color: var(--fhc-cis-menu-lvl-5-bg-hover);
}
#cis-header .btn.dropdown-toggle,
#cis-nav .btn.dropdown-toggle {
padding-right: 0.5625rem;
display: flex;
justify-content: space-between;
align-items: center;
}
#cis-header .btn.dropdown-toggle:after,
#cis-nav .btn.dropdown-toggle:after {
transition: transform 0.2s ease-in-out;
}
#cis-header .btn.dropdown-toggle.collapsed:after,
#cis-nav .btn.dropdown-toggle.collapsed:after {
transform: rotate(-90deg);
}
#nav-sprachen{
transition: none;
}
/* searchbar */
#nav-search {
background-color: var(--fhc-primary);
z-index: 1;
}
#nav-search.me-3 {
margin: 0 !important;
}
#nav-search > .input-group {
margin: 0 !important;
}
#nav-search > .input-group > * {
border-radius: 0 !important;
}
#nav-search .searchbar_results {
top: 100% !important;
left: 0;
right: 0 !important;
width: 100% !important;
}
/* frame */
.in-frame {
--fhc-cis-header-height: 0;
}
.in-frame #cis-header,
.in-frame .hide-in-frame {
display: none;
}
#cis-main {
color: var(--fhc-text);
background-color: var(--fhc-background);
border-color: var(--fhc-border);
padding: var(--fhc-cis-main-py) var(--fhc-cis-main-px);
}
#cis-main .fa-arrow-up-right-from-square {
color: var(--fhc-link) !important;
}
#nav-main-sticky {
max-height: calc(100vh - var(--fhc-cis-header-height));
}
#nav-user-menu img {
object-fit: cover;
height: calc( 3 * var(--fhc-cis-header-py));
}
#fhc-languages {
display: flex;
text-align: center;
}
#fhc-languages .btn {
flex: 1;
display: flex;
}
.fhc-seperator {
position: relative;
}
.fhc-seperator::before {
content: '';
position: absolute;
top: 0;
left: 0;
margin-left: 12.5%;
width: 75%; /* Full width of the parent element */
height: 1px; /* Height of the border */
background: linear-gradient(to right, var(--fhc-background), var(--fhc-primary), var(--fhc-background));
opacity: 0.8; /* Adjust opacity for a subtle fade effect */
}
/* desktop */
@media (min-width: 992px) {
body {
display: flex;
padding-top: var(--fhc-cis-header-height);
width: calc(100svw - var(--scrollbar-width, 0px));
/* overflow: visible !important; */
}
#cis-header {
z-index: 10;
}
#cis-header nav {
position: initial;
transform: none;
width: auto;
visibility: visible !important;
height: 100%;
transition: none;
border-right: none;
min-height: calc(100vh - var(--fhc-cis-header-height));
}
#nav-main-btn {
display: none;
}
#nav-logo {
position: fixed;
top: 0;
left: 0;
height: var(--fhc-cis-header-height);
width: var(--fhc-cis-menu-width);
background-color: var(--fhc-primary);
padding: var(--fhc-cis-header-py) var(--fhc-cis-header-px);
z-index: 2;
}
#nav-logo img {
object-fit: contain;
object-position: left;
width: 100%;
height: 100%;
}
#nav-main-sticky {
position: sticky;
top: var(--fhc-cis-header-height);
display: flex;
flex-direction: column;
}
#nav-main-sticky > :not(#nav-main-toggle) {
overflow: auto;
}
#nav-main-toggle {
width: 0;
z-index: 1;
}
#nav-main-toggle .btn,
#nav-main-toggle .fa-arrow-circle-left {
transition: all 0.5s ease-in-out;
}
#nav-main-toggle .collapsed.btn {
background-color: transparent !important;
}
#nav-main-toggle .collapsed .fa-arrow-circle-left {
transform: scaleX(-1);
color: var(--fhc-black-40);
}
#nav-search {
position: fixed;
top: 0;
left: var(--fhc-cis-menu-width);
height: var(--fhc-cis-header-height);
right: calc(var(--fhc-cis-header-height) + 2 * var(--fhc-cis-header-px) - 2 * var(--fhc-cis-header-py));
width: auto !important;
}
#nav-user {
position: fixed;
top: 0;
right: 0;
}
#nav-user-btn {
border-width: 0;
padding: var(--fhc-cis-header-py) var(--fhc-cis-header-px);
background-color: var(--fhc-primary);
}
#nav-user-btn img {
object-fit: contain;
height: calc(var(--fhc-cis-header-height) - 2 * var(--fhc-cis-header-py));
width: calc(var(--fhc-cis-header-height) - 2 * var(--fhc-cis-header-py));
}
#nav-user-menu {
position: absolute;
min-width: var(--fhc-cis-menu-width);
background-color: var(--fhc-dark);
}
#nav-user-menu img {
object-fit: contain;
height: calc( 3 * var(--fhc-cis-header-py));
}
#fhc-languages {
display: flex;
text-align: center;
}
#fhc-languages .btn {
flex: 1;
display: flex;
}
#nav-main-menu {
height: 100%;
background-color: var(--fhc-cis-menu-bg);
}
#nav-main-menu > div {
width: var(--fhc-cis-menu-width);
}
}
/* mobile */
@media (max-width: 991.98px) {
#cis-main{
padding: 0.75rem 0.75rem;
height: calc(100vh - var(--fhc-cis-header-height));
}
#cis-main > :first-child {
margin-top: var(--fhc-cis-header-height);
}
#cis-header {
background-color: var(--fhc-primary);
height: var(--fhc-cis-header-height);
position: fixed;
width: 100vw;
display: flex;
justify-content: space-between;
z-index: 10;
}
#cis-header nav {
top: var(--fhc-cis-header-height);
background-color: var(--fhc-cis-menu-bg);
border-right: none;
min-height: calc(100vh - var(--fhc-cis-header-height));
}
#nav-logo img {
height: var(--fhc-cis-header-height);
width: auto;
}
#nav-main-sticky {
overflow: auto;
}
#nav-search {
position: relative;
}
#nav-user{
position: relative;
}
#nav-user-btn {
}
#nav-user-btn img {
object-fit: cover;
height: 2rem;
width: 2rem;
}
#nav-user-menu {
position: absolute;
background-color: var(--fhc-dark);
}
#nav-main-menu {
display: block;
}
}
#nav-main{
background-color: var(--fhc-cis-sidebar-bg);
}
/* Typography */
.fhc-header {
display: flex;
justify-content: space-between;
align-items: end;
border-bottom: 1px solid var(--fhc-border);
margin: 1rem 0;
}
.fhc-header > h1 {
font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
.fhc-header > h1 {
font-size: 1.75rem;
}
}
.fhc-header > h1 > small {
color: var(--fhc-tertiary);
font-size: 1rem;
}
.fhc-header > h1 > small:before {
content: " | ";
}
.fhc-header > a {
margin-bottom: 0.5rem;
text-decoration: none;
}
.fhc-header > a:after {
color: var(--fhc-text);
content: "\f059";
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: var(--fa-display, inline-block);
font-style: normal;
font-variant: normal;
line-height: 1;
text-rendering: auto;
font-family: var(--fa-style-family, "Font Awesome 6 Free");
font-weight: var(--fa-style, 900);
margin-inline-start: 0.5rem;
}
[disabled="true"].fhc-entry {
pointer-events: none;
cursor: default;
background-color: var(--fhc-disabled) !important;
color: black !important;
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none;/* Safari */
-khtml-user-select: none;/* Konqueror HTML */
-moz-user-select: none;/* Old versions of Firefox */
-ms-user-select: none;/* Internet Explorer/Edge */
user-select: none;
}
.fhc-entry:hover{
filter: brightness(120%) !important;
}
.fhc-entry.btn:focus {
box-shadow: none !important;
}
.fhc-entry.btn {
border-radius: 0 !important;
}
.fhc-entry {
transition-property: background,color;
transition-duration: 0.3s,0.2s;
transition-timing-function: ease-out,ease-out;
}
[selected="true"].fhc-entry {
filter: brightness(120%);
}
@media screen and ( max-width: 767px ) {
#nav-search {
position: static;
}
#nav-search .searchbar_results {
top: 100%;
width: 98vw !important;
left: 1vw !important;
right: 1vw !important;
}
}
@media screen and ( max-width: 576px ) {
#nav-search .searchbar_results .searchbar_icon img {
max-width: 65px !important;
}
#nav-search .searchbar_results .searchbar_icon i {
font-size: 3em !important;
}
#nav-search .searchbar_results .searchbar_grid {
grid-template-columns: [icon] 75px [data] auto;
}
#nav-search .searchbar_results .searchbar_table,
#nav-search .searchbar_results .searchbar_tablerow,
#nav-search .searchbar_results .searchbar_tablecell {
display: block;
}
#nav-search .searchbar_results .searchbar_tablecell.searchbar_label {
font-weight: bold;
}
#nav-search .searchbar_results .searchbar_tablecell.searchbar_value {
padding-left: 2.5rem;
overflow-wrap: anywhere;
}
}
/* classes used for the Vue <Transition> component*/
.v-enter-active,
.v-leave-active {
transition: opacity 0.2s ease-out;
}
.v-enter-from,
.v-leave-to {
opacity: 0;
}
.height-enter-active,
.height-leave-active {
transition: height 0.3s ease-out;
}
.height-enter-from,
.height-leave-to {
height: 0px;
}
.zusatzinfo h2 {
font-size: 1.5em;
}
.dashboard-item {
overscroll-behavior: none;
}
.abgabe-zieldatum-border-red,
.abgabe-zieldatum-border-yellow,
.abgabe-zieldatum-border-pink,
.abgabe-zieldatum-border-green {
border: solid 3px lightgrey;
}
.abgabe-zieldatum-border-red {
border-color: red;
}
.abgabe-zieldatum-border-yellow {
border-color: yellow;
}
.abgabe-zieldatum-border-pink {
border-color: pink;
}
.abgabe-zieldatum-border-green {
border-color: green;
}
.abgabe-zieldatum-overlay {
top: 3px;
right: 3px;
}
.abgabe-zieldatum-border-red .abgabe-zieldatum-overlay {
color: red;
}
.abgabe-zieldatum-border-yellow .abgabe-zieldatum-overlay {
color: yellow;
}
.abgabe-zieldatum-border-pink .abgabe-zieldatum-overlay {
color: pink;
}
.abgabe-zieldatum-border-green .abgabe-zieldatum-overlay {
color: green;
}
.stgkontaktinfo {
display: grid;
grid-template-columns: 25px auto;
word-wrap: anywhere;
}
.mylv-semester-studiengang-lv .card-header {
min-height: 55px;
}
#lektorenContainer{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}
@media(max-width: 990px) {
#lektorenContainer{
grid-template-columns: 1fr 1fr 1fr;
}
}
@media(max-width: 575px) {
#lektorenContainer {
grid-template-columns: 1fr 1fr;
}
}
#cis-main .modal-header{
background-color: var(--fhc-primary);
color: var(--fhc-light);
}
#cis-main .modal-header .btn-close{
filter: invert(1);
}
#cis-main .modal-footer {
background-color: var(--fhc-secondary);
}
+13
View File
@@ -0,0 +1,13 @@
/* mobile */
@media (max-width: 991.98px) {
.responsive-calendar .fhc-calendar-mode-week .fhc-calendar-base-label-day .short,
.responsive-calendar .fhc-calendar-mode-week .fhc-calendar-base-label-dow .short,
.responsive-calendar .fhc-calendar-mode-month .fhc-calendar-base-label-dow .short {
display: block;
}
.responsive-calendar .fhc-calendar-mode-week .fhc-calendar-base-label-day .long,
.responsive-calendar .fhc-calendar-mode-week .fhc-calendar-base-label-dow .long,
.responsive-calendar .fhc-calendar-mode-month .fhc-calendar-base-label-dow .long {
display: none;
}
}
File diff suppressed because it is too large Load Diff
+99
View File
@@ -0,0 +1,99 @@
/* All */
.weekPageContainer,
.dayPageContainer {
height: 100%;
}
/* Feiertage */
.cis-renderer-feiertage-calendar-event {
align-items: center;
color: var(--fhc-light);
}
.monthPageContainer .cis-renderer-feiertage-calendar-event,
.weekPageContainer .cis-renderer-feiertage-calendar-event,
.dayPageContainer .cis-renderer-feiertage-calendar-event {
display: grid;
grid-template-columns: auto 1fr;
justify-items: center;
}
.listPageContainer .cis-renderer-feiertage-calendar-event {
display: flex;
justify-content: center;
}
.monthPageContainer .cis-renderer-feiertage-calendar-event .event-icon {
margin: 0 .5rem;
}
.weekPageContainer .cis-renderer-feiertage-calendar-event .event-icon,
.dayPageContainer .cis-renderer-feiertage-calendar-event .event-icon,
.listPageContainer .cis-renderer-feiertage-calendar-event .event-icon {
margin: .5rem;
}
.listPageContainer .cis-renderer-feiertage-calendar-event .event-title {
flex-grow: 1;
}
/* Lehreinheit */
/* Reservierungen */
.monthPageContainer .calendar-event-default {
padding: 0!important;
}
.monthPageContainer .calendar-event-default .event-time,
.monthPageContainer .calendar-event-default .event-lectors {
display: none!important;
}
.monthPageContainer .calendar-event-default .event-text {
display: flex;
justify-content: space-evenly;
align-items: center;
}
.weekPageContainer .calendar-event-default {
display: grid;
grid-template-columns: auto 1fr;
}
.weekPageContainer .calendar-event-default .event-time {
border-inline-end: solid 1px var(--bs-secondary);
align-self: stretch;
align-content: center;
padding: .25em .5em .25em .25em;
margin-inline-end: .25rem;
}
.weekPageContainer .calendar-event-default .event-text {
display: flex;
flex-direction: column;
justify-content: space-evenly;
align-items: center;
}
.dayPageContainer .calendar-event-default,
.listPageContainer .calendar-event-default {
display: flex;
align-items: center;
}
.dayPageContainer .calendar-event-default .event-time,
.listPageContainer .calendar-event-default .event-time {
align-content: center;
padding-inline-end: .5em;
border-inline-end: solid 1px;
margin-inline-end: .5em;
}
.dayPageContainer .calendar-event-default .event-text,
.listPageContainer .calendar-event-default .event-text {
flex: 1 1 auto;
display: flex;
flex-wrap: wrap;
gap: .25em;
justify-content: center;
}
.dayPageContainer .calendar-event-default .event-topic,
.dayPageContainer .calendar-event-default .event-place,
.listPageContainer .calendar-event-default .event-topic,
.listPageContainer .calendar-event-default .event-place {
flex: 0 0 100%;
text-align: center;
}
.fhc-roominformation .calendar-event-default .event-place {
display: none;
}
+4
View File
@@ -0,0 +1,4 @@
iframe {
width: 100%;
min-height: 100%;
}
+60
View File
@@ -0,0 +1,60 @@
.lvUebersicht{
display:grid;
gap: 1rem;
}
@media (min-width: 1440px) {
.lvUebersicht {
grid-template-columns: 1fr 1fr 1fr;
}
}
@media (max-width: 1439px){
.lvUebersicht{
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 576px){
.lvUebersicht{
grid-template-columns: 1fr;
}
}
.lvOptions {
display: grid;
gap: 1rem;
}
.lvOptions > div {
flex-basis: auto;
flex-grow: 1;
flex-shrink: 1;
}
.lvOptions button {
flex-shrink: 0;
}
@media (min-width: 1440px) {
.lvOptions {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
}
@media (max-width: 1439px) {
.lvOptions {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 576px) {
.lvOptions {
grid-template-columns: 1fr;
}
}
+60 -1
View File
@@ -10,7 +10,7 @@
font-size: calc(1.325rem + .9vw);
}
.fhc-header > :first-child > small {
color: var(--bs-secondary);
color: var(--fhc-tertiary);
font-size: .65em;
padding-inline-start: 1em;
}
@@ -98,3 +98,62 @@
padding-right: .375rem;
background-image: none;
}
.modal-msg {
max-width: 1378px;
}
.modal-msg .modal-content {
height: 95vh;
}
.fhcSkipLink {
position: absolute;
left: -10px;
top: -10px;
width: 1px;
height: 1px;
overflow: hidden;
}
.fhcSkipLink::before {
content: "Skip to main content"
}
.fhcSkipLink:focus {
position: absolute;
z-index: 9999999;
top: var(--fhc-cis-header-height);
left: var(--fhc-cis-menu-width);
height: 100px;
width: 800px;
font-size: 24px;
font-weight: bold;
color: #0044cc;
background-color: #ffeb3b;
text-decoration: none;
padding: 12px 18px;
border-radius: 6px;
box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
transition: all 0.2s ease-in-out;
}
.fhcSkipLink:hover {
background-color: #ffcc00;
color: #002b80;
transform: scale(1.05);
}
.fhc-bullet::before {
content: "• ";
font-weight: bold;
display: inline-block;
transform: scale(2);
}
.fhc-bullet-red::before {
color: green;
}
.fhc-bullet-green::before {
color: red;
}
+13 -6
View File
@@ -1,8 +1,15 @@
:root{
--filter-widget-border: var(--fhc-dark, black);
--filter-widget-color: var(--fhc-dark, black);
--filter-widget-primary: var(--fhc-primary, #428bca);
--filter-widget-border-light: var(--fhc-border, #ddd);
}
.filter-name-title {
font-family: inherit;
font-size: 16px;
line-height: 1.1;
color: black;
color: var(--filter-widget-color);
}
.panel-title {
@@ -26,7 +33,7 @@
}
.drag-and-drop-fields-span {
border: 1px solid black;
border: 1px solid var(--filter-widget-border);
border-radius: 7px;
margin-right: 6px;
margin-bottom: 10px;
@@ -64,7 +71,7 @@
right: 100%;
height: 100%;
margin-right: 3px;
border-left: 2px solid #428bca;
border-left: 2px solid var(--filter-widget-primary);
}
.selection-after::after {
@@ -74,7 +81,7 @@
left: 100%;
height: 100%;
margin-left: 3px;
border-right: 2px solid #428bca;
border-right: 2px solid var(--filter-widget-primary);
}
.applied-filter-operation {
@@ -139,10 +146,10 @@
.up-down-border {
border-top-width: 1px;
border-top-color: #ddd;
border-top-color: var(--filter-widget-border-light);
border-top-style: solid;
border-bottom-width: 1px;
border-bottom-color: #ddd;
border-bottom-color: var(--filter-widget-border-light);
border-bottom-style: solid;
}
+47 -1
View File
@@ -1,9 +1,10 @@
@import './Fhc.css';
@import './components/searchbar.css';
@import './components/searchbar/searchbar.css';
@import './components/verticalsplit.css';
@import './components/FilterComponent.css';
@import './components/Tabs.css';
@import './components/Notiz.css';
@import './components/Messages.css';
html {
font-size: .875em;
@@ -52,6 +53,36 @@ html {
height: 0;
}
/* Dropdown AbschlusspruefungList.js */
.stv-details-abschlusspruefung .tabulator-row {
overflow: visible !important;
}
/* to avoid interference with Notiz.css and overflow for textfield */
.stv-details-abschlusspruefung .tabulator-cell {
overflow: visible !important;
}
.p-dropdown-item{
z-index: 1201 !important;
}
.l-dropdown-item{
z-index: 1301 !important;
}
.tabulator-row .dropdown-menu {
position: absolute;
z-index: 1204; /* Ensure it's above other elements */
}
.tabulator-table {
overflow: visible !important;
}
.highlight-row {
background-color: #e5aeae !important;
}
@media (min-width: 768px) {
#sidebarMenu {
visibility: visible!important;
@@ -113,3 +144,18 @@ html {
.has-filter .fa-filter {
color: var(--bs-success);
}
.override_filtercmpt_actions_style div.d-flex.align-items-baseline {
align-items: end !important;
}
.stv-details-details-foto img {
max-width: 150px;
}
.msg_preview {
margin-bottom: -1px;
}
.tiny-90 div.tox.tox-tinymce {
height: 90% !important;
}
+105 -3
View File
@@ -39,14 +39,97 @@
z-index: 999999;
}
/* classes for rows that are not selectable in the tabulator, except for rows that are used for calculation */
.tabulator-row.tabulator-unselectable:not(.tabulator-calcs) {
color: #adb5bd !important;
pointer-events: none !important;
}
.tabulator-row.tabulator-unselectable a {
pointer-events: auto !important;
}
/* using bootstrap background classes to style the background color of tabulator rows */
/* bg-warning */
/* odd-rows */
.tabulator-headers .tabulator-frozen.bg-warning,
.tabulator-row.tabulator-row-odd .tabulator-frozen.bg-warning,
.tabulator-row.tabulator-row-odd .tabulator-cell.bg-warning {
background-color: #fcf8e3;
}
/* even-rows */
.tabulator-headers .tabulator-frozen.bg-warning,
.tabulator-row.tabulator-row-even .tabulator-frozen.bg-warning,
.tabulator-row.tabulator-row-even .tabulator-cell.bg-warning {
background-color: #fcf8e3;
}
/* bg-success */
/* odd-rows */
.tabulator-headers .tabulator-frozen.bg-success,
.tabulator-row.tabulator-row-odd .tabulator-frozen.bg-success,
.tabulator-row.tabulator-row-odd .tabulator-cell.bg-success {
background-color: #dff0d8;
}
/* even-rows */
.tabulator-headers .tabulator-frozen.bg-success,
.tabulator-row.tabulator-row-even .tabulator-frozen.bg-success,
.tabulator-row.tabulator-row-even .tabulator-cell.bg-success {
background-color: #dff0d8;
}
/* bg-info */
/* odd-rows */
.tabulator-headers .tabulator-frozen.bg-info,
.tabulator-row.tabulator-row-odd .tabulator-frozen.bg-info,
.tabulator-row.tabulator-row-odd .tabulator-cell.bg-info {
background-color: #d9edf7;
}
/* even-rows */
.tabulator-headers .tabulator-frozen.bg-info,
.tabulator-row.tabulator-row-even .tabulator-frozen.bg-info,
.tabulator-row.tabulator-row-even .tabulator-cell.bg-info {
background-color: #d9edf7;
}
/* special bootstrap5 styling for tableWidget and their accordion-item ::after content */
.accordion-button::after{
content:none !important;
}
.tabulator {
font-size: 1rem;
}
.tabulator-initialfontsize .tabulator {
font-size: 14px;
}
.tabulator-row.tabulator-unselectable .tabulator-cell {
pointer-events: all;
}
.tabulator-tooltip {
color: #fff;
background-color: #000;
}
.tabulator-row.tabulator-unselectable:not(.tabulator-calcs) {
color: #777 !important;
}
.tabulator-cell .btn {
padding: 0 .7rem;
min-height: 25px;
min-width: 25px;
padding: 0 .375rem;
font-size: calc(1rem - 2px / 1.5); /* substract border (2 x 1px) modified by the line-height (1.5) */
border-radius: .2rem;
vertical-align: baseline;
}
.tabulator-row.tabulator-selectable:focus {
@@ -54,3 +137,22 @@
z-index: 1;
outline: 0;
}
.btn-select-col-selected
{
background-color: #e6e6e6;
}
.accordion-item-dark, .accordion-item-dark:focus{
background-color:#CED4DA !important;
border-color:#ADB5BD !important;
box-shadow: none !important;
}
/**
* Make keyboard-focused list items look like the mouse-hovered list items
*/
.tabulator-edit-list .tabulator-edit-list-item.focused {
color: #fff;
background: #1d68cd;
}
+1
View File
@@ -0,0 +1 @@
@import '../../vendor/olifolkerd/tabulator6/dist/css/tabulator_simple.min.css';
View File
+54
View File
@@ -64,6 +64,7 @@ h6, .h6 {
.tabulator {
font-size: var(--bs-body-font-size);
}
.fhc-container .tabulator {
@@ -93,7 +94,60 @@ h6, .h6 {
background-color: #ececec;
}
/* using bootstrap background classes to style the background color of tabulator rows */
/* bg-warning */
/* odd-rows */
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-frozen.bg-warning,
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-cell.bg-warning {
background-color: #fcf8e3;
}
/* even-rows */
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-frozen.bg-warning,
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.bg-warning {
background-color: #fcf8e3;
}
/* bg-success */
/* odd-rows */
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-frozen.bg-success,
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-cell.bg-success {
background-color: #dff0d8;
}
/* even-rows */
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-frozen.bg-success,
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.bg-success {
background-color: #dff0d8;
}
/* bg-info */
/* odd-rows */
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-frozen.bg-info,
.fhc-container .tabulator .tabulator-row.tabulator-row-odd .tabulator-cell.bg-info {
background-color: #d9edf7;
}
/* even-rows */
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-frozen.bg-info,
.fhc-container .tabulator .tabulator-row.tabulator-row-even .tabulator-cell.bg-info {
background-color: #d9edf7;
}
.fhc-container .tabulator .tabulator-col,
.fhc-container .tabulator .tabulator-cell {
border-right: 1px solid #dee2e6;
}
/* lehrauftrag begin */
.bg-success-bs3 {
background-color: #dff0d8 !important;
}
.bg-warning-bs3 {
background-color: #fcf8e3 !important;
}
/* lehrauftrag end */
+11 -9
View File
@@ -1,3 +1,9 @@
:root{
--fhc-filtercomponent-primary: var(--fhc-primary, #428bca);
--fhc-filtercomponent-bg:var(--fhc-background, white);
--fhc-filtercomponent-border:var(--fhc-border, black);
}
.filter-header-title {
text-align: right;
}
@@ -26,9 +32,9 @@
margin-left: 7px;
padding: 11px;
display: inline-block;
background-color: white;
background-color: var(--fhc-filtercomponent-bg);
border-style: solid;
border-color: black;
border-color: var(--fhc-filtercomponent-border);
border-width: 1px;
border-radius: 7px;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
@@ -47,7 +53,7 @@
right: 100%;
height: 100%;
margin-right: 3px;
border-left: 2px solid #428bca;
border-left: 2px solid var(--fhc-filtercomponent-primary);
}
.selection-after::after {
@@ -57,7 +63,7 @@
left: 100%;
height: 100%;
margin-left: 3px;
border-right: 2px solid #428bca;
border-right: 2px solid var(--fhc-filtercomponent-primary);
}
.filter-table-dataset {
@@ -67,9 +73,5 @@
.tabulator {
font-size: 1rem;
}
.tabulator-cell .btn {
padding: 0 .375rem;
font-size: .875rem;
border-radius: .2rem;
}
+44
View File
@@ -0,0 +1,44 @@
/* FORM UNDERLINE
*/
:root {
--fhc-formunderline-border: var(--fhc-border, #dee2e6);
--fhc-formunderline-link: var(--fhc-link, initial);
--fhc-formunderline-titel-color: var(--fhc-text,gray);
}
.form-underline{
display: flex;
flex-direction: column;
justify-content: center;
align-content: space-between;
}
a.form-underline-content{
color: var(--fhc-formunderline-link);
}
.form-underline .form-underline-content{
border-width: 1px;
border-color: transparent transparent var(--fhc-formunderline-border) transparent;
border-style: solid;
padding-bottom: 0.25rem;
padding-left: 0.5rem;
/*optional not wrapping text that is horizontally scrollable and does not display a scrollbar */
white-space: nowrap;
overflow: auto;
scrollbar-width: none;
}
.form-underline .form-underline-content::-webkit-scrollbar {
display: none;
}
.form-underline .form-underline-titel{
opacity: 0.65;
font-size: .85rem;
padding-left: 0.5rem;
color: var(--fhc-formunderline-titel-color) !important;
}
+4
View File
@@ -0,0 +1,4 @@
.twoColumns {
height: 400px;
overflow-y: auto;
}
+8
View File
@@ -0,0 +1,8 @@
:root{
--fhc-myLv-disabled: var(--fhc-disabled, #565e647f);
}
.unavailable, .unavailable:hover{
color: var(--fhc-myLv-disabled) !important;
cursor: default;
}
+19 -9
View File
@@ -1,13 +1,24 @@
/*
* Hederer
*/
:root{
--fhc-nav-component-bg: var(--fhc-tertiary, #f8f8f8);
--fhc-nav-component-border: var(--fhc-border, #e7e7e7);
--fhc-nav-component-color: var(--fhc-text, #5e5e5e);
--fhc-nav-left-component-border: var(--fhc-border, #e7e7e7);
--fhc-nav-left-component-bg: var(--fhc-tertiary, #f8f8f8);
--fhc-nav-left-component-color: var(--fhc-primary, #23527c);
--fhc-nav-left-component-hover: var(--fhc-secondary-highlight, #eee);
}
.navbar-header {
background-color: #f8f8f8;
background-color: var(--fhc-nav-component-bg);
padding-top: 0px;
padding-bottom: 0px;
padding-left: 10px;
border-style: solid;
border-color: #e7e7e7;
border-color: var(--fhc-nav-component-border);
border-width: 0 0 1px;
}
@@ -15,7 +26,7 @@
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 18px;
line-height: 1.42857143;
color: #5e5e5e !important;
color: var(--fhc-nav-component-color) !important;
padding-top: 15px !important;
padding-right: 7px !important;
padding-left: 7px !important;
@@ -34,8 +45,8 @@
z-index: 1;
position: absolute;
width: 250px;
border-right: 1px solid #e7e7e7;
background-color: #f8f8f8;
border-right: 1px solid var(--fhc-nav-left-component-border);
background-color:var(--fhc-nav-left-component-bg);
}
.navbar-left-side ul {
@@ -43,7 +54,7 @@
}
.navbar-left-side ul li {
border-bottom: 1px solid #e7e7e7;
border-bottom: 1px solid var(--fhc-nav-left-component-border);
}
.left-side-menu-second-level {
@@ -67,7 +78,7 @@
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14px;
line-height: 1.42857143;
color: #23527c;
color: var(--fhc-nav-left-component-color);
padding-top: 10px !important;
padding-bottom: 10px !important;
padding-left: 7px !important;
@@ -76,7 +87,7 @@
}
.left-side-menu-link-entry:hover {
background-color: #eee;
background-color: var(--fhc-nav-left-component-hover);
}
/*
@@ -88,4 +99,3 @@
margin: 0 0 0 250px;
padding: 30px 30px;
}
+21 -1
View File
@@ -3,4 +3,24 @@
}
.notizText {
color: darkblue;
}
}
/* Enforce content clipping in the scrollable section */
.tabulator .tabulator-tableHolder {
overflow-x: hidden;
position: relative;
}
.tabulator .tabulator-table {
overflow-x: hidden;
table-layout: fixed;
width: 100%;
}
.tabulator .tabulator-cell {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
}
+55
View File
@@ -0,0 +1,55 @@
:root{
--fhc-profil-border: var(--fhc-background-highlight, gray);
--fhc-profil-tabulator-shadow: var(--fhc-shadow-20, rgba(0,0,0,0.1));
}
.image-lock{
height:22px;
width:21px;
background-color:var(--fhc-profil-border);
position:absolute;
top:1px;
right:12px;
display:flex;
align-items:center;
justify-content:center;
border-radius:3px;
}
.image-upload {
height: 22px;
width: 21px;
background-color: var(--fhc-profil-border);
position: absolute;
bottom: 4.5px;
left: 14.5px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 3px 3px 3px 0;
}
.tabulator-collapsed-row{
padding:15px;
background-color: var(--fhc-profil-tabulator-shadow);
}
.tabulator-col{
justify-content:center !important;
}
.tabulator-responsive-collapse{
padding:0 !important;
}
.btn-circle {
width: 30px;
height: 30px;
padding: 6px 0px;
border-radius: 15px;
text-align: center;
font-size: 12px;
line-height: 1.42857;
}
+23
View File
@@ -0,0 +1,23 @@
:root {
--fhc-sprachen-color: var(--fhc-text, white);
--fhc-sprachen-background: var(--fhc-primary, #005585);
--fhc-sprachen-background-highlight: var(--fhc-primary-highlight, #00649c);
}
.sprachen-entry{
color: var(--fhc-sprachen-color);
background-color: var(--fhc-sprachen-background);
}
.sprachen-entry:hover {
background-color: var(--fhc-sprachen-background);
}
[selected="true"].sprachen-entry {
background-color: var(--fhc-sprachen-background-highlight);
}
.sprachen-entry.btn {
border-radius: 0 !important;
}
+41
View File
@@ -0,0 +1,41 @@
@import './calendar/frame.css';
@import './calendar/events.css';
@import './calendar/backgrounds.css';
/* Themable Variables */
:root {
--fhc-calendar-gap: var(--bs-border-width, 1px);
--fhc-calendar-bg: var(--fhc-background, #fff);
--fhc-calendar-border: var(--fhc-border, #dee2e6);
--fhc-calendar-bg-gap: var(--fhc-border, #dee2e6);
--fhc-calendar-bg-event: var(--fhc-white-80, #ccc);
--fhc-calendar-border-event: var(--bs-secondary, #6c757d);
--fhc-calendar-radius-event: var(--bs-border-radius, .375rem);
--fhc-calendar-bg-markings-past: var(--fhc-beige-10, rgba(245, 233, 215, 0.5));
--fhc-calendar-border-markings-past: var(--fhc-calendar-border);
--fhc-calendar-bg-markings-past-label: var(--fhc-calendar-bg);
--fhc-calendar-border-markings-past-label: var(--fhc-calendar-border);
--fhc-calendar-bg-header: var(--fhc-calendar-bg);
--fhc-calendar-bg-header-gap: transparent;
--fhc-calendar-bg-allday: var(--fhc-calendar-bg);
--fhc-calendar-bg-allday-gap: transparent;
--fhc-calendar-bg-body: var(--fhc-calendar-bg);
--fhc-calendar-bg-body-gap: transparent;
--fhc-calendar-bg-month-today: var(--fhc-primary);
--fhc-calendar-color-month-today: var(--fhc-white-10);
--fhc-calendar-bg-overlay1: var(--fhc-calendar-bg);
--fhc-calendar-bg-overlay2: var(--fhc-dark, #212529);
--fhc-calendar-radius-day-event: var(--fhc-calendar-radius-event);
--fhc-calendar-radius-week-event: var(--fhc-calendar-radius-event);
--fhc-calendar-radius-month-event: 0;
--fhc-calendar-radius-list-event: var(--fhc-calendar-radius-event);
--fhc-calendar-maxheight-allday: 7.125rem;
}
@@ -0,0 +1,18 @@
.background-past {
background-color: var(--fhc-calendar-bg-markings-past);
border-bottom: solid 1px var(--fhc-calendar-border-markings-past);
}
.background-past > span {
display: none;
}
.background-past.bg-end > span {
display: block;
position: absolute;
top: 100%;
left: 1rem;
padding: 0 .5rem;
background-color: var(--fhc-calendar-bg-markings-past-label);
border: solid 1px var(--fhc-calendar-border-markings-past-label);
font-size: .875em;
}
+71
View File
@@ -0,0 +1,71 @@
.event {
cursor: pointer;
font-size: var(--fhc-calendar-fontsize-event, .875rem);
}
.fhc-calendar-mode-day .fhc-calendar-base-grid-line,
.fhc-calendar-mode-week .fhc-calendar-base-grid-line {
padding: 0 var(--fhc-calendar-gap-events, var(--fhc-calendar-gap, 1px));
}
.fhc-calendar-mode-day .all-day-events .event,
.fhc-calendar-mode-week .all-day-events .event {
margin: var(--fhc-calendar-gap-events, var(--fhc-calendar-gap, 1px)) 0;
}
.fhc-calendar-mode-list .event {
margin-bottom: var(--fhc-calendar-gap-events, var(--fhc-calendar-gap, 1px));
}
/* Border */
.fhc-calendar-mode-day .grid-main .event > *,
.fhc-calendar-mode-week .grid-main .event > * {
border: solid 1px var(--fhc-calendar-border-event);
}
.fhc-calendar-mode-day .event {
--event-radius: var(--fhc-calendar-radius-day-event, 0);
}
.fhc-calendar-mode-week .event {
--event-radius: var(--fhc-calendar-radius-week-event, 0);
}
.fhc-calendar-mode-month .event {
--event-radius: var(--fhc-calendar-radius-month-event, 0);
}
.fhc-calendar-mode-list .event {
--event-radius: var(--fhc-calendar-radius-list-event, 0);
}
.fhc-calendar-mode-day .all-day-events .event > *,
.fhc-calendar-mode-week .all-day-events .event > *,
.fhc-calendar-mode-day .event.event-begin > *,
.fhc-calendar-mode-week .event.event-begin > * {
border-top-left-radius: var(--event-radius);
border-top-right-radius: var(--event-radius);
}
.fhc-calendar-mode-day .all-day-events .event > *,
.fhc-calendar-mode-week .all-day-events .event > *,
.fhc-calendar-mode-day .event.event-end > *,
.fhc-calendar-mode-week .event.event-end > * {
border-bottom-left-radius: var(--event-radius);
border-bottom-right-radius: var(--event-radius);
}
.fhc-calendar-mode-month .event.event-begin > * {
border-top-left-radius: var(--event-radius);
border-bottom-left-radius: var(--event-radius);
}
.fhc-calendar-mode-month .event.event-end > * {
border-top-right-radius: var(--event-radius);
border-bottom-right-radius: var(--event-radius);
}
.fhc-calendar-mode-list .event > * {
border-radius: var(--event-radius);
}
/* Colors */
.fhc-calendar-base .event {
--event-default-bg: var(--fhc-calendar-bg-event, #ccc);
}
.fhc-calendar-base .event .event-type-reservierung {
--event-default-bg: var(--fhc-calendar-bg-reservierung, #fff);
}
.fhc-calendar-base .event > * {
background-color: var(--event-bg, var(--event-default-bg));
color: var(--event-color, var(--fhc-calendar-color-event, #000));
}
.fhc-calendar-base .event > *:hover {
filter: brightness(120%);
}
+219
View File
@@ -0,0 +1,219 @@
/* Labels */
/* ====== */
.fhc-calendar-base-label-dow .short,
.fhc-calendar-base-label-dow .narrow,
.fhc-calendar-base-label-day .full,
.fhc-calendar-base-label-day .short,
.fhc-calendar-base-label-day .narrow,
.fhc-calendar-mode-month .fhc-calendar-base-label-day .long,
.collapsed-header .fhc-calendar-base-label-day .long,
.collapsed-header .fhc-calendar-base-label-dow .long {
display: none;
}
.fhc-calendar-mode-month .fhc-calendar-base-label-day .narrow,
.collapsed-header .fhc-calendar-base-label-day .short,
.collapsed-header .fhc-calendar-base-label-dow .short {
display: block;
}
.fhc-calendar-mode-day .fhc-calendar-base-label-day,
.fhc-calendar-mode-week .fhc-calendar-base-label-day {
font-size: .875em;
}
.fhc-calendar-mode-day .main-header,
.fhc-calendar-mode-week .main-header {
text-align: center;
}
.fhc-calendar-mode-month .fhc-calendar-base-label-week {
text-align: right;
}
.fhc-calendar-base-label-week {
margin-left: .5rem;
}
.fhc-calendar-base-label-time,
.fhc-calendar-base-label-day,
.fhc-calendar-base-label-week {
color: var(--bs-secondary-color);
}
.fhc-calendar-mode-day .fhc-calendar-base-label-dow,
.fhc-calendar-mode-week .fhc-calendar-base-label-dow,
.fhc-calendar-base-label-day,
.fhc-calendar-base-label-week {
cursor: pointer;
}
.fhc-calendar-base-label-week span + span:before {
content: "/";
}
.fhc-calendar-mode-month .fhc-calendar-base-grid-line-event.event-header {
height: 100%;
}
.fhc-calendar-mode-month .fhc-calendar-base-label-day {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.fhc-calendar-mode-month .fhc-calendar-base-grid-line-event.event-header {
--event-bg: transparent;
font-weight: bold;
font-size: var(--fhc-calendar-fontsize-month-day, 1rem);
}
.fhc-calendar-mode-month .fhc-calendar-base-grid-line-event.event-header .disabled {
opacity: .3;
}
/* Base Grid */
/* ========= */
/* Grid */
.fhc-calendar-base-grid {
--fhc-calendar-axis-collapsible: .2fr;
background-color: var(--fhc-calendar-bg-gap);
grid-gap: var(--fhc-calendar-gap-header, calc(var(--fhc-calendar-gap, 1px) * 2));
}
.fhc-calendar-base-grid .grid-header {
background-color: var(--fhc-calendar-bg-header-gap, var(--fhc-calendar-bg-gap));
}
.fhc-calendar-base-grid .grid-header:before,
.fhc-calendar-base-grid .grid-allday:before {
content: "";
}
.fhc-calendar-base-grid .grid-header:before,
.fhc-calendar-base-grid .grid-header .main-header {
background-color: var(--fhc-calendar-bg-header);
}
.fhc-calendar-base-grid .grid-allday {
background-color: var(--fhc-calendar-bg-allday-gap, var(--fhc-calendar-bg-gap));
}
.fhc-calendar-base-grid .grid-allday:before,
.fhc-calendar-base-grid .grid-allday .all-day-events {
background-color: var(--fhc-calendar-bg-allday);
}
.fhc-calendar-base-grid .grid-allday .all-day-events {
max-height: var(--fhc-calendar-maxheight-allday);
overflow-y: auto;
}
.fhc-calendar-base-grid .grid-main {
grid-gap: var(--fhc-calendar-gap, 1px);
background-color: var(--fhc-calendar-bg-body-gap, var(--fhc-calendar-bg-gap));
}
.fhc-calendar-base-grid .grid-main .part-header,
.fhc-calendar-base-grid .grid-main .part-body {
background-color: var(--fhc-calendar-bg-body);
}
.fhc-calendar-base-grid-line {
grid-gap: var(--fhc-calendar-gap-events, var(--fhc-calendar-gap, 1px));
}
.fhc-calendar-base-label-time {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: end;
}
/* Header */
.fhc-calendar-base-header .header-picker {
display: flex;
justify-content: center;
}
.fhc-calendar-base-header .header-actions {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
margin-bottom: .5rem;
row-gap: .5rem;
}
.fhc-calendar-base-header .header-userdefined:empty {
display: none;
}
@media (min-width: 768px) {
.fhc-calendar-base-header {
display: grid;
grid-template-columns: [userdefined] 1fr [picker] max-content [modes] 1fr;
align-items: center;
}
.fhc-calendar-base-header .header-actions {
grid-column: 1 / -1;
grid-row: 1;
display: grid;
grid-template-columns: subgrid;
margin-bottom: 0;
}
.fhc-calendar-base-header .header-userdefined {
grid-column: userdefined;
}
.fhc-calendar-base-header .header-modes {
grid-column: modes;
}
.fhc-calendar-base-header .header-picker {
grid-column: picker;
grid-row: 1;
}
}
/* Modes */
/* ===== */
/* Day */
.fhc-calendar-mode-day .event-details {
padding: 1.5rem;
width: 100%;
border-left: solid 1px var(--fhc-calendar-bg-gap);
}
.fhc-calendar-mode-day .today {
background-color: var(--fhc-calendar-bg-day-today);
color: var(--fhc-calendar-color-day-today);
}
/* Week */
.fhc-calendar-mode-week .today {
background-color: var(--fhc-calendar-bg-week-today);
color: var(--fhc-calendar-color-week-today);
}
/* Month */
.fhc-calendar-mode-month .fhc-calendar-base-grid-line {
overflow: hidden;
line-height: 1.8;
grid-template-rows: 2em;
grid-auto-rows: 1.8em;
font-size: var(--fhc-calendar-fontsize-event, .875rem);
}
.fhc-calendar-mode-month .fhc-calendar-base-grid-line-event {
font-size: 1em;
height: 1.8em;
overflow: hidden;
}
.fhc-calendar-mode-month .fhc-calendar-base-grid-line-event .placeholder-glow {
text-indent: 0;
}
.fhc-calendar-mode-month .fhc-calendar-base-grid-line-event * {
max-height: 100%;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.fhc-calendar-mode-month .event > .today {
background-color: var(--fhc-calendar-bg-month-today);
color: var(--fhc-calendar-color-month-today);
}
/* List */
.fhc-calendar-mode-list .today {
background-color: var(--fhc-calendar-bg-list-today);
color: var(--fhc-calendar-color-list-today);
}
/* Overlays */
/* ======== */
/* No Events */
.fhc-calendar-no-events-overlay {
background: linear-gradient(120deg, var(--fhc-calendar-bg-overlay1), var(--fhc-calendar-bg-overlay2));
opacity: .7;
text-align: center;
font-size: 2.5rem;
font-weight: 500;
line-height: 1.2;
}
.fhc-calendar-no-events-overlay:before {
content: "";
display: block;
height: 100px;
}
+216
View File
@@ -0,0 +1,216 @@
@import './calendar.css';
@import './dashboard/news.css';
@import './dashboard/LvPlan.css';
:root{
--fhc-dashboard-danger: var(--fhc-danger, #842029);
--fhc-dashboard-grid-size: 4;
--fhc-dashboard-link: var(--fhc-link, #0a57ca);
--fhc-dashboard-gridrow-background: var(--fhc-background, white);
--fhc-dashboard-gridrow-background-highlight: var(--fhc-background-highlight, #6c757d);
--fhc-dashboard-draggeditem-background: var(--fhc-background, white);
--fhc-dashboard-item-overlay-background: var(--fhc-background-highlight, rgba(0, 100, 156, 1));
--fhc-dashboard-item-overly-border-color: var(--fhc-border, lightgray);
--fhc-dashboard-denied-dragging-animation-color: var(--fhc-danger, red);
--fhc-dashboard-pin-pinned-hover-color: var(--fhc-fifth-highlight, rgb(153, 116, 116));
--fhc-dashboard-section-info-color: var(--fhc-primary, #00649c);
--fhc-dashboard-section-info-color-hover: var(--fhc-primary-highlight, #005585);
}
@media(max-width: 577px) {
:root {
--fhc-dashboard-grid-size: 1;
}
}
.core-dashboard a{
color: var(--fhc-dashboard-link);
}
@media (max-width: 576px){
.widget-icon {
max-height: 250px;
object-fit: cover;
}
.widget-icon-container{
max-width: 250px;
margin-left: auto;
margin-right: auto;
}
}
.empty-tile-hover {
height: 100%;
width: 100%;
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-500 -500 1448 1512"><path fill="rgb(211, 211, 211,0.35)" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z"/></svg>');
background-repeat: no-repeat;
background-position: center;
background-size: cover;
cursor:pointer;
}
.dashboard-section > .newGridRow{
position:absolute;
width:20px;
height:20px;
padding:0;
bottom:0;
left:50%;
transform:translate(-50%, 50%);
background-color: var(--fhc-dashboard-gridrow-background);
}
.newGridRow:hover {
color:white;
background-color: var(--fhc-dashboard-gridrow-background-highlight);
}
.empty-tile-hover:hover {
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-500 -500 1448 1512"><path fill="rgb(211, 211, 211)" d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z"/></svg>');
}
.alert-danger .form-check-input:checked {
border-color: var(--fhc-dashboard-danger);
background-color: var(--fhc-dashboard-danger);
}
:root {
--fhc-dashboard-grid-size: 4;
}
@media(max-width: 1400px) {
:root {
--fhc-dashboard-grid-size: 4;
}
}
@media(max-width: 1200px) {
:root {
--fhc-dashboard-grid-size: 3;
}
}
@media(max-width: 992px) {
:root {
--fhc-dashboard-grid-size: 2;
}
}
@media(max-width: 768px) {
:root {
--fhc-dashboard-grid-size: 2;
}
}
@media(max-width: 577px) {
:root {
--fhc-dashboard-grid-size: 1;
}
}
.mirror-x {
transform: scaleX(-1);
}
.cursor-nw-resize {
cursor: nw-resize !important;
}
.cursor-ew-resize {
cursor: ew-resize !important;
}
.cursor-ns-resize {
cursor: ns-resize !important;
}
.no-drag-drop {
cursor: not-allowed !important;
}
.cursor-move {
cursor: move !important;
}
.draggedItem {
height: 100%;
width: 100%;
background-color: var(--fhc-dashboard-draggeditem-background);
position: relative;
}
.dashboard-item-overlay{
background-color: var(--fhc-dashboard-item-overlay-background);
}
.dashboard-item-overlay::before{
position:absolute;
content:"";
top:0.25rem;
left:0.25rem;
right:0.25rem;
bottom:0.25rem;
border:4px dashed var(--fhc-dashboard-item-overly-border-color);
opacity: 0.5;
}
#deleteBookmark i{
color: var(--fhc-dashboard-danger);
}
.pin:hover{
cursor: pointer;
}
.pin[pinned]:hover{
color: var(--fhc-dashboard-pin-pinned-hover-color);
}
.section-info{
color: var(--fhc-dashboard-section-info-color);
cursor:pointer;
}
.section-info:hover {
color: var(--fhc-dashboard-section-info-color-hover);
}
.denied-dragging-animation {
animation: wiggle 0.5s linear;
color: var(--fhc-dashboard-denied-dragging-animation-color) !important;
}
@keyframes wiggle {
0% {
transform: rotate(0deg);
}
25% {
transform: rotate(-30deg);
}
50% {
transform: rotate(0deg);
}
75% {
transform: rotate(30deg);
}
100% {
transform: rotate(0em);
}
}
.hiddenWidget{
background: var(--fhc-disabled-background);
opacity: 40%;
}
.hiddenWidget .card,
.hiddenWidget .card-body,
.hiddenWidget .card-body *{
background: inherit !important;
}
@@ -0,0 +1,27 @@
.dashboard-widget-lvplan .fhc-calendar-base .card {
--bs-card-cap-padding-x: 0;
--bs-card-cap-padding-y: 0;
--bs-card-border-radius: 0;
--bs-card-border-width: 0;
--dp-input-padding: .375rem .75rem;
--dp-input-icon-padding: calc(1rem + 24px);
}
.dashboard-widget-lvplan .fhc-calendar-base .card-header {
border-bottom-width: var(--bs-border-width);
}
.dashboard-widget-lvplan .fhc-calendar-base .card-header > .row > .col-auto,
.dashboard-widget-lvplan .fhc-calendar-base .card-header .btn-group {
width: 100%;
}
.dashboard-widget-lvplan .fhc-calendar-base .card-header input {
--dp-font-size: .7em;
}
.dashboard-widget-lvplan .fhc-calendar-base .card-header .btn {
--bs-btn-font-size: .7em;
}
.dashboard-widget-lvplan .fhc-calendar-base-label-day {
cursor: initial;
}
.dashboard-widget-lvplan .fhc-calendar-mode-list-view {
padding: 0 1rem;
}
+195
View File
@@ -0,0 +1,195 @@
:root{
--fhc-news-widget-height: 1;
--fhc-news-widget-bg: var(--fhc-primary);
--fhc-news-widget-highlight-color: var(--fhc-primary-highlight);
--fhc-news-widget-border: var(--fhc-border);
--fhc-news-widget-border-highlight: var(--fhc-border-highlight);
--fhc-news-widget-text-light: var(--fhc-light);
}
/* media query for sm sizes */
@media (min-width :576px) {
.fhc-news-menu-item {
/* padding: top right bottom left */
padding:0.125em 0.125em 0.125em 0.125em !important;
max-height:30px !important;
}
.fhc-news-menu-item-betreff p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
line-clamp: 1;
/* Number of lines to show */
overflow: hidden;
}
}
/* media query for md sizes */
@media (min-width :768px) {
.fhc-news-menu-item {
/* padding: top right bottom left */
padding: 0.25em 0.25em 0.25em 0.25em !important;
max-height: 50px !important;
}
.fhc-news-menu-item-betreff p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
line-clamp: 1;
/* Number of lines to show */
overflow: hidden;
}
}
/* media query for lg sizes */
@media (min-width :992px) {
.fhc-news-menu-item {
/* padding: top right bottom left */
padding: 0.25em 0.25em 0.25em 0.25em !important;
max-height: 75px !important;
}
.fhc-news-menu-item-betreff p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
/* Number of lines to show */
overflow: hidden;
}
}
/* media query for xl sizes */
@media (min-width :1200px) {
.fhc-news-menu-item {
/* padding: top right bottom left */
padding: 1em 0.25em 0.25em 0.25em !important;
height: 100px !important;
}
.fhc-news-menu-item-betreff p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
/* Number of lines to show */
overflow: hidden;
}
}
/* media query for xxl sizes */
@media (min-width :1400px) {
.fhc-news-menu-item {
/* padding: top right bottom left */
padding: 1.2em 0.5em 0.5em 0.5em !important;
height: 125px !important;
}
.fhc-news-menu-item-betreff p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
/* Number of lines to show */
overflow: hidden;
}
}
.widgets-news{
padding: .5rem;
overflow-y: auto;
}
.widgets-news img
{
max-width: 100%;
height: auto;
}
.fhc-news-menu-item {
padding: 0.375rem;
color: var(--fhc-news-widget-text-light);
width: 100%;
justify-content: space-between;
align-items: center;
background-color: var(--fhc-news-widget-bg);
border: 1px solid var(--fhc-news-widget-border);
cursor: pointer;
transition: background-color 0.2s ease, border-color 0.2s ease; /* Smooth transition */
}
.fhc-news-menu-item:hover {
background-color: var(--fhc-news-widget-highlight-color);
border-color: var(--fhc-news-widget-border-highlight);
}
.fhc-news-menu-item.selected {
background-color: var(--fhc-news-widget-highlight-color);
border: 2px solid var(--fhc-news-widget-border-highlight);
}
.fhc-news-menu-item:focus {
outline: none;
}
.fhc-news-menu-item-betreff
{
width: 100%;
max-height: 100%;
height: 100%;
}
.fhc-news-menu-item-date {
text-align: end;
width: 100%;
max-height: 100%;
height: 100%;
}
.fhc-carousel .carousel-item {
transition: transform 0.375s ease-in-out, opacity 0.75s ease-in-out;
}
.fhc-carousel .carousel-item-next,
.fhc-carousel .carousel-item-prev {
transition: transform 0.44s ease-in-out, opacity 0.8s ease-in-out;
}
.fhc-carousel .carousel-item-start,
.fhc-carousel .carousel-item-end {
transition: transform 0.44s ease-in-out, opacity 0.8s ease-in-out;
}
.carousel-control-prev,
.carousel-control-next {
top: 0.5rem !important;
bottom: auto !important;
opacity: 1 !important;
}
.fhc-news-items-lg .row .news-truncate span{
color: var(--fhc-primary);
cursor: pointer;
}
.fhc-news-items-lg .row:hover .news-truncate span{
text-decoration: underline;
cursor: pointer;
font-weight: bold;
}
.news-truncate {
display: -webkit-box;
-webkit-line-clamp: 2;
/* number of lines to show */
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-word;
}
+3
View File
@@ -0,0 +1,3 @@
.item-inactive {
text-decoration: line-through;
}
+16 -1
View File
@@ -1747,7 +1747,7 @@
}
.p-button.p-button-icon-only {
width: 2.357rem;
padding: 0.5rem 0;
padding: 0.375rem 0; /* NOTE(chris): button padding-y from BS */
}
.p-button.p-button-icon-only .p-button-icon-left,
.p-button.p-button-icon-only .p-button-icon-right {
@@ -3973,6 +3973,10 @@
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
.p-tabview-panel .btn-close,
.p-tabview-panel .carousel-indicators [data-bs-target] {
box-sizing: content-box;
}
.p-toolbar {
background: #efefef;
@@ -5249,6 +5253,8 @@
}
.p-toast .p-toast-message .p-toast-message-content .p-toast-message-text {
margin: 0 0 0 1rem;
flex: 1 0 0%;
word-break: break-word;
}
.p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon {
font-size: 2rem;
@@ -5314,6 +5320,15 @@
.p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close {
color: #721c24;
}
.p-toast.p-component.p-toast-top-right.fhc-alert {
max-height: calc(100vh - 20px - 1rem);
overflow: auto;
}
.p-toast-message-text .alertCollapseText {
overflow: auto;
max-height: 30rem;
}
.p-galleria .p-galleria-close {
margin: 0.5rem;
-95
View File
@@ -1,95 +0,0 @@
/*
Created on : Jun 15, 2022, 3:21:25 PM
Author : bambi
*/
.searchbar_settings {
position: absolute;
z-index: 9999;
background-color: #fff;
border: 2px solid #666;
padding: 1rem;
}
.searchbar_results {
position: absolute;
z-index: 9998;
background-color: #fff;
border: 1px solid lightgrey;
padding: 1rem;
overflow-y: auto;
top: 100%;
width: 100%;
left: 0;
right: 0;
}
.searchbar_result {
border-bottom: 1px solid lightgrey;
margin-bottom: 1rem;
}
.searchbar_grid {
display: grid;
grid-template-columns: [icon] 100px [data] auto;
}
.searchbar_icon {
grid-column-start: icon;
grid-column-end: span 1;
margin-right: .75em;
}
.searchbar_data {
grid-column-start: data;
grid-column-end: span 1;
}
.searchbar_actions {
display: flex;
padding: 0;
margin-top: 1rem;
}
.searchbar_actions li {
list-style: none;
text-align: center;
padding: 3px;
}
.searchbar_table {
display: table;
}
.searchbar_tablerow {
display: table-row;
}
.searchbar_tablecell {
display: table-cell;
min-width: 175px;
padding: 0 6px;
}
.searchbar_settings_types {
display: flex;
padding: 0;
}
.searchbar_settings_types li {
list-style: none;
padding: 5px;
}
.searchbar_settings_types li label {
padding: 3px;
}
.searchbar_inline_ul {
margin: 0;
padding: 0;
}
.searchbar_inline_ul li {
list-style: none;
}
@@ -0,0 +1,231 @@
/*
Created on : Jun 15, 2022, 3:21:25 PM
Author : bambi
*/
@import url(./switches.css);
:root{
--fhc-searchbar-shadow: var(--fhc-shadow-40, #ced4da);
--fhc-searchbar-settings-background-color: var(--fhc-dark, #343a40);
--fhc-searchbar-results-background-color: var(--fhc-background, #fff);
--fhc-searchbar-results-border-color: var(--fhc-border, lightgrey);
--fhc-searchbar-results-link-color: var(--fhc-link, #0d6efd);
--fhc-searchbar-results-btn-color: var(--bs-btn-color, white);
}
.searchbar_input_clear {
/* 1rem * 5 / 8 = width of icon */
margin-inline-start: calc(-1rem * 5 / 8 - var(--bs-btn-padding-x) * 2 - var(--bs-border-width)) !important;
border: 0;
margin-inline-end: 1px;
z-index: 1;
}
.searchbar_input_clear:hover,
.searchbar_input_clear:focus {
color: var(--bs-body-color);
background-color: transparent;
}
.searchbar_input:focus,
.searchbar_input:focus ~ .searchbar_input_clear {
z-index: 5; /* same as bootstrap .input-group > .form-control:focus */
}
.searchbar_setting_btn {
--bs-btn-color: var(--bs-body-color);
--bs-btn-bg: var(--bs-tertiary-bg);
--bs-btn-border-color: var(--bs-border-color);
}
.searchbar_searchbox.open {
z-index: 10000;
}
.searchbar_settings {
position: absolute;
z-index: 9999;
background-color: var(--fhc-searchbar-settings-background-color);
}
.searchbar_results {
position: absolute;
z-index: 9998;
background-color: var(--fhc-searchbar-results-background-color);
border: 1px solid var(--fhc-searchbar-results-border-color);
padding: .5rem;
top: 100%;
width: 100%;
left: 0;
right: 0;
box-shadow: 2px 2px 4px var(--fhc-searchbar-shadow);
}
.searchbar_results a{
color: var(--fhc-searchbar-results-link-color);
}
/*
.searchbar_results a:not(a~i) {
color: inherit;
}
*/
.searchbar_results a.btn {
color: var(--fhc-searchbar-results-btn-color);
}
.searchbar_results_scroller {
overflow-y: auto;
overscroll-behavior: none;
}
.searchbar_result {
border-bottom: 1px solid var(--fhc-searchbar-results-border-color);
margin-bottom: 1rem;
}
.searchbar_grid {
display: grid;
grid-template-columns: [icon] 100px [data] auto;
}
.searchbar_icon {
grid-column-start: icon;
grid-column-end: span 1;
margin-right: .75em;
}
.searchbar_data {
grid-column-start: data;
grid-column-end: span 1;
}
.searchbar_actions {
display: flex;
padding: 0;
margin-top: 1rem;
}
.searchbar_actions li {
list-style: none;
text-align: center;
padding: 3px;
}
.searchbar_table {
display: table;
}
.searchbar_tablerow {
display: table-row;
}
.searchbar_tablecell {
display: table-cell;
min-width: 175px;
padding: 0 6px;
}
.searchbar_settings_types {
display: flex;
padding: 0;
}
.searchbar_settings_types li {
list-style: none;
padding: 5px;
}
.searchbar_settings_types li label {
padding: 3px;
}
.searchbar_inline_ul {
margin: 0;
padding: 0;
}
.searchbar_inline_ul li {
list-style: none;
}
/* new variant with template/frame */
.searchbar-result-template-frame {
border-bottom: 1px solid lightgrey;
margin-bottom: 1rem;
padding-bottom: 1rem;
}
.searchbar-result-template-actions {
display: flex;
flex-wrap: wrap;
gap: .5rem;
padding: 0;
margin: 1rem 0 0;
}
.searchbar-square-image {
position: relative;
display: block;
height: 0;
padding-bottom: 100%;
}
.searchbar-square-image > * {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
}
.searchbar-square-image > img {
object-fit: cover;
}
.searchbar-square-image > div {
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
color: rgba(var(--bs-white-rgb),1);
background-color: rgba(var(--bs-primary-rgb), 1);
}
.searchbar-square-image.rounded-circle > img,
.searchbar-square-image.rounded-circle > div {
border-radius: 50%;
}
.searchbar-rounded-image {
display: block;
width: 100%;
}
.searchbar-rounded-image > img {
width: 100%;
}
.searchbar-rounded-image > div {
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
color: rgba(var(--bs-white-rgb),1);
background-color: rgba(var(--bs-primary-rgb), 1);
height: calc((100px - .75em) * 1.3);
}
.searchbar-rounded-image > img,
.searchbar-rounded-image > div {
border-radius: .25rem;
}
.no-margin-paragraphs p {
margin: 0;
}
.non-selectable {
user-select: none;
-webkit-user-select: none; /* Safari */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE/Edge */
}
.searchbar_inaktiv {
opacity: .6;
}
@@ -0,0 +1,24 @@
:root{
--fhc-switches-checked-bg: var(--fhc-light, white);
--fhc-switches-unchecked-bg: var(--fhc-disabled, var(--bs-gray-600));
--fhc-switches-shadow: var(--fhc-shadow-20, rgba(108, 117, 125,.25));
}
.fhc-switches:checked {
background-color: var(--fhc-switches-checked-bg) !important;
border-color: transparent;
background-position: right center !important;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='black'/%3e%3c/svg%3e") !important;
}
.fhc-switches {
background-color: var(--fhc-switches-unchecked-bg) !important;
border-color: transparent;
background-position: left center !important;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238e99a3'/%3e%3c/svg%3e") !important;
}
.fhc-switches:focus {
box-shadow: 0 0 0 .25rem var(--fhc-switches-shadow);
}
+3 -3
View File
@@ -3,9 +3,9 @@
Author : bambi
*/
:root {
--fhc-verticalsplit-vsplitter-bg-color: #eee;
--fhc-verticalsplit-vsplitter-border-color: #eee;
--fhc-verticalsplit-vsplitter-splitactions-color: #000;
--fhc-verticalsplit-vsplitter-bg-color: var(--fhc-background, #eee);
--fhc-verticalsplit-vsplitter-border-color: var(--fhc-border, #eee);
--fhc-verticalsplit-vsplitter-splitactions-color: var(--fhc-dark, #000);
}
.verticalsplitted {
+9 -1
View File
@@ -43,4 +43,12 @@
--dp-border-color-hover: var(--bs-success);
}
.form-control.is-invalid ~ .dp__clear_icon,
.was-validated .form-control:invalid ~ .dp__clear_icon { margin-right: calc(1.5em + .75rem - 12px) }
.was-validated .form-control:invalid ~ .dp__clear_icon {
margin-right: calc(1.5em + .75rem - 12px);
}
.p-component .dp__input_icons {
box-sizing: content-box !important;
}
.input-group .dp__input_icons {
z-index: 3;
}
+27 -1
View File
@@ -1,7 +1,33 @@
.btn-w200
{
width: 200px;
}
.btn-mr5
{
margin-right: 10px;
}
.select-w500 {
width: 500px;
}
.pl-15 {
padding-left: 15px !important;
}
}
.bg-secondary-subtle{
background-color: #E9ECEF !important;
border-style: solid !important;
border-width: 1px !important;
border-color: #DEE2E6 !important;
}
/* html attribute disabled and title don't work together, sets the pointer-event to auto in order to see the title toolip */
.btn:disabled {
pointer-events: auto !important;
cursor: default;
}
+100
View File
@@ -0,0 +1,100 @@
.tag {
display: inline-block;
padding: 5px 10px;
margin-right: 5px;
border-radius: 3px;
color: white;
font-size: .75em;
font-weight: 700;
line-height: 1;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
}
.tag:hover
{
transform: scale(1.15);
}
.tag_rot {
background-color: #ff0000ff;
}
.tag_gelb {
background-color: #ffff00ff;
color: black;
}
.tag_gruen {
background-color: #008000ff;
}
.tag_rosa {
background-color: #FFC1C1;
color: black;
}
.tag_aprikose {
background-color: #4f7596;
}
.tag_pfirsich {
background-color: #a15f95;
}
.tag_orange {
background-color: #ffA500ff;
}
.tag_braun {
background-color: #6d4c41;
}
.tag_blau {
background-color: #508498;
}
.tag_lavendel {
background-color: #C7A3FF;
}
.tag_limette {
background-color: #D3FFCE;
}
.tag_done {
text-decoration: line-through;
}
.display_all {
background-color: darkgrey !important;
border: none;
}
.dropdown_list {
list-style: none;
background-color: white;
border: 1px solid #ccc;
border-radius: 5px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
z-index: 1000;
position: absolute;
padding: 10px 10px 10px;
max-width: 200px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
cursor: pointer;
}
.plus_button_container.disabled {
pointer-events: none;
opacity: 0.5;
}
.modificationdate {
font-style: italic;
font-size: 0.7em;
text-align: left;
}
+290
View File
@@ -0,0 +1,290 @@
/* css overrides for static cms content */
@import './default_cms_fixes.css';
/* colors */
:root {
--fhc-black-10: black;
--fhc-black-20: #1d2024;
--fhc-black-30: #212529;
--fhc-black-40: #292b2a;
--fhc-black-50: #2B3035;
--fhc-black-60: #2c3136;
--fhc-black-70: #343a40;
--fhc-white-10: #FFFFFF;
--fhc-white-20: #f6f6f6;
--fhc-white-30: #eceff1;
--fhc-white-40: #e9ecef;
--fhc-white-50: #dee2e6;
--fhc-white-60: #d5dae0;
--fhc-white-70: #ced4da;
--fhc-white-80: #c7cbcf;
--fhc-white-90: #aeb3b8;
--fhc-gray-10: #858f97;
--fhc-gray-20: #72777A;
--fhc-gray-30: #616568;
--fhc-gray-40: #495057;
--fhc-blue-10: #0a57ca;
--fhc-blue-20: #79b7d8;
/* --fhc-blue-20: #00649c;*/
--fhc-blue-30: #00598d;
/*--fhc-blue-40: #005585;*/
--fhc-blue-40: #61aed8;
--fhc-blue-50: #00507e;
--fhc-blue-primary: #006095;
--fhc-blue-primary-highlight: #0086CB;
--fhc-red-10: #842029;
--fhc-red-20: #800000;
--fhc-green-10: #008000;
--fhc-beige-10: rgba(245, 233, 215, 0.5);
--fhc-beige-20: rgba(172, 153, 125, 0.5);
}
:root.light {
/* fhc base colors */
--fhc-primary: var(--fhc-blue-primary);
--fhc-primary-highlight: var(--fhc-blue-primary-highlight);
--fhc-secondary: var(--fhc-white-20);
--fhc-secondary-highlight: var(--fhc-white-40);
--fhc-tertiary: var(--fhc-white-40);
--fhc-tertiary-highlight: var(--fhc-white-60);
--fhc-fourth: var(--fhc-white-60);
--fhc-fourth-highlight: var(--fhc-white-80);
--fhc-fifth: var(--fhc-white-80);
--fhc-fifth-highlight: var(--fhc-white-90);
/*background*/
--fhc-background: var(--fhc-white-10);
--fhc-background-highlight: var(--fhc-white-60);
/*text*/
--fhc-text: var(--fhc-black-30);
/* shadows and borders */
--fhc-shadow-20: rgba(0, 0, 0, 0.2);
--fhc-shadow-40: rgba(0, 0, 0, 0.4);
--fhc-shadow-60: rgba(0, 0, 0, 0.6);
--fhc-shadow-80: rgba(0, 0, 0, 0.8);
--fhc-box-shadow: var(--fhc-white-50);
--fhc-border: var(--fhc-white-50);
--fhc-border-highlight: var(--fhc-gray-40);
/* links */
--fhc-link: var(--fhc-blue-10);
/* disabled */
--fhc-disabled: var(--fhc-gray-90);
--fhc-disabled-background: var(--fhc-gray-30);
/* status colors */
--fhc-danger: var(--fhc-red-10);
--fhc-success: var(--fhc-green-10);
--fhc-dark: var(--fhc-black-30);
--fhc-light: var(--fhc-white-50);
--fhc-cis-menu-lvl-1-color: var(--fhc-white-50);
}
:root.dark {
/* fhc base colors */
--fhc-primary: var(--fhc-blue-primary);
--fhc-primary-highlight: var(--fhc-blue-primary-highlight);
--fhc-secondary: var(--fhc-black-50);
--fhc-secondary-highlight: var(--fhc-black-70);
--fhc-tertiary: var(--fhc-black-70);
--fhc-tertiary-highlight: var(--fhc-gray-40);
--fhc-danger: var(--fhc-red-10);
/*background*/
--fhc-background: var(--fhc-black-30);
--fhc-background-highlight: var(--fhc-black-20);
/*text*/
--fhc-text: var(--fhc-white-50);
/* shadows and borders */
--fhc-shadow-20: rgba(125, 125, 125, 0.2);
--fhc-shadow-40: rgba(125, 125, 125, 0.4);
--fhc-shadow-60: rgba(125, 125, 125, 0.6);
--fhc-shadow-80: rgba(125, 125, 125, 0.8);
--fhc-box-shadow: var(--fhc-gray-40);
--fhc-border: var(--fhc-gray-40);
--fhc-border-highlight: var(--fhc-white-90);
/* links */
--fhc-link: var(--fhc-white-70);
/* disabled */
--fhc-disabled: var(--fhc-gray-10);
--fhc-disabled-background: var(--fhc-gray-120);
/* status colors */
--fhc-danger: var(--fhc-red-10);
--fhc-success: var(--fhc-green-10);
--fhc-dark: var(--fhc-black-50);
--fhc-light: var(--fhc-white-70);
}
:root.purple {
--fhc-purple-primary: rgb(150, 120, 255);
--fhc-purple-primary-highlight: rgb(170, 140, 255);
--fhc-purple-5: rgb(245, 240, 255);
--fhc-purple-10: rgb(235, 225, 255);
--fhc-purple-20: rgb(220, 200, 255);
--fhc-purple-30: rgb(200, 170, 255);
--fhc-purple-40: rgb(180, 140, 240);
--fhc-purple-50: rgb(160, 110, 225);
--fhc-purple-60: rgb(140, 90, 210);
--fhc-purple-70: rgb(120, 70, 195);
--fhc-purple-80: rgb(100, 50, 180);
--fhc-purple-90: rgb(80, 30, 165);
/* fhc base colors */
--fhc-primary: var(--fhc-purple-primary-highlight);
--fhc-primary-highlight: var(--fhc-purple-primary);
--fhc-secondary: var(--fhc-purple-20);
--fhc-secondary-highlight: var(--fhc-purple-40);
--fhc-tertiary: var(--fhc-purple-30);
--fhc-tertiary-highlight: var(--fhc-purple-50);
/* background */
--fhc-background: var(--fhc-purple-5);
--fhc-background-highlight: var(--fhc-purple-10);
/* text */
--fhc-text: var(--fhc-black-20);
/* shadows and borders */
--fhc-shadow-20: rgba(150, 100, 200, 0.2);
--fhc-shadow-40: rgba(150, 100, 200, 0.4);
--fhc-shadow-60: rgba(150, 100, 200, 0.6);
--fhc-shadow-80: rgba(150, 100, 200, 0.8);
--fhc-box-shadow: var(--fhc-white-50);
--fhc-border: var(--fhc-white-50);
--fhc-border-highlight: var(--fhc-gray-40);
/* links */
--fhc-link: var(--fhc-black-50);
/* disabled */
--fhc-disabled: var(--fhc-purple-20);
/* status colors */
--fhc-danger: var(--fhc-red-10);
--fhc-success: var(--fhc-green-10);
--fhc-dark: var(--fhc-black-20);
--fhc-light: var(--fhc-white-70);
}
/* fhc primary*/
html.dark .bg-primary,
html.dark .btn-primary,
html.dark .btn-outline-primary {
background-color: var(--fhc-primary) !important;
border-color: var(--fhc-primary) !important;
color: white;
}
html.dark .btn-outline-primary:hover,
html.dark .btn-primary:hover {
filter: brightness(90%);
}
html.dark .text-primary {
color: var(--fhc-primary) !important;
}
html.dark .btn-outline-primary,
html.dark .border-primary {
border-color: var(--fhc-primary) !important;
}
/* fhc danger*/
html.dark .bg-danger,
html.dark .btn-danger,
html.dark .btn-outline-danger {
background-color: var(--fhc-danger) !important;
border-color: var(--fhc-danger) !important;
color: white;
}
html.dark .btn-outline-danger:hover,
html.dark .btn-danger:hover {
filter: brightness(90%);
}
html.dark .text-danger {
color: var(--fhc-danger) !important;
}
html.dark .border-danger {
border-color: var(--fhc-danger) !important;
}
html.dark .tabulator,
html.dark .tabulator .tabulator-header,
html.dark .tabulator .tabulator-header .tabulator-col,
html.dark .tabulator .tabulator-table,
html.dark .tabulator .tabulator-row {
background-color: var(--fhc-tertiary) !important;
color: var(--fhc-text) !important;
border-color: var(--fhc-border) !important;
}
html.dark .tabulator .tabulator-cell {
background-color: var(--fhc-tertiary) !important;
border-color: var(--fhc-border) !important;
}
html.dark .tabulator .tabulator-header .tabulator-col:hover {
background-color: var(--fhc-tertiary) !important;
}
.p-paginator{
background-color: var(--fhc-background) !important;
}
.p-paginator .p-paginator-pages .p-paginator-page.p-highlight,
.p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight {
background-color: var(--fhc-primary) !important;
border-color: var(--fhc-primary) !important;
color: var(--fhc-light) !important;
}
.p-paginator .p-paginator-pages .p-paginator-page,
.p-paginator .p-paginator-next,
.p-paginator .p-paginator-prev,
.p-paginator .p-paginator-first,
.p-paginator .p-paginator-last {
color: var(--fhc-primary) !important;
}
.p-link:focus {
box-shadow: 0 0 0 0.2rem rgba(var(--fhc-primary), 0.5) !important;
}
+14
View File
@@ -0,0 +1,14 @@
/* css overrides for dark mode */
html.dark #fhc-cms-content *[style*="color"] {
color: var(--fhc-text) !important;
}
/* fhc cms classes */
html.dark #fhc-cms-content a {
color: var(--fhc-link);
}
html.dark #fhc-cms-content img {
background-color: var(--fhc-text);
color: var(--fhc-background);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+2 -4
View File
@@ -95,10 +95,9 @@ var FHC_DialogLib = {
*/
_displayDialog: function(heading, message, icon, colorClass)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-"+icon+"'></i>&nbsp;&nbsp;"+message+"</p>";
var html = "<p class='dialogmessage'>"+message+"</p>";
FHC_DialogLib.alertDefault(heading, html);
$(".ui-dialog-titlebar").addClass(colorClass+" text-center");
$(".glyphicon-"+icon).addClass(colorClass);
$(".ui-dialog-titlebar").addClass(colorClass+" alert text-center");
FHC_DialogLib._formatShortDialog();
},
@@ -113,7 +112,6 @@ var FHC_DialogLib = {
$(".ui-dialog-buttonpane.ui-widget-content").css("padding", ".3em .4em .5em .4em");
$(".ui-dialog .ui-dialog-content").css("padding", "0");
$(".ui-dialog-buttonset button").css("margin", "0");
$(".dialogmessage i.glyphicon").css("background-color", "transparent");
}
};
+136 -44
View File
@@ -20,6 +20,7 @@ var FHC_TableWidget = {
_datasetRepresentation: null, // contains the current data representation
_bootstrapVersion: 3,
//------------------------------------------------------------------------------------------------------------------
// Public methods
@@ -152,6 +153,8 @@ var FHC_TableWidget = {
FHC_TableWidget._setDatasetRepresentation(data); // set what type of dataset representation was choosen
FHC_TableWidget._setBootstrapVersion(data); // set the bootstrap version used for the tableWidget
var tableWidgetDiv = $('div[tableUniqueId="' + data.tableUniqueId + '"]');
FHC_TableWidget._turnOffEvents(tableWidgetDiv); // turns all the events off
@@ -161,6 +164,41 @@ var FHC_TableWidget = {
FHC_TableWidget._renderDataset(tableWidgetDiv, data);
FHC_TableWidget._turnOnEvents(tableWidgetDiv); // turns all the events off
FHC_TableWidget._onTableBuilt(tableWidgetDiv, data);
},
_onTableBuilt: function (tableWidgetDiv, data) {
var options = FHC_TableWidget._getRepresentationOptions(data);
tableWidgetDiv
.find("#tableWidgetTabulator")
.tabulator("on", "tableBuilt", () => {
if (
typeof options.tableWidgetHeader == "undefined" ||
(typeof options.tableWidgetHeader != "undefined" &&
options.tableWidgetHeader != false)
) {
// renders the table headers
var tabulatorHeaderCollapseHTML =
_renderTabulatorHeaderCollapseHTML(tableWidgetDiv);
tableWidgetDiv
.find("#tableWidgetHeader")
.after(tabulatorHeaderCollapseHTML);
}
// makes the table headers toggle visibility when clicking on them
tableWidgetDiv.find(".btn-select-col").on("click", function () {
var selected = this.value;
tableWidgetDiv
.find("#tableWidgetTabulator")
.tabulator("toggleColumn", selected);
// toggle class to color button as selected / deselected
$(this).toggleClass("btn-select-col-selected").blur(); // blur removes automatic focus
});
});
},
/**
@@ -263,15 +301,7 @@ var FHC_TableWidget = {
})
// Click-Event to toggle column-picker columns
tableWidgetDiv.find('.btn-select-col').on('click', function()
{
var selected = this.value;
tableWidgetDiv.find("#tableWidgetTabulator").tabulator('toggleColumn', selected);
// toggle class to color button as selected / deselected
$(this).toggleClass('btn-select-col-selected').blur(); // blur removes automatic focus
})
//! this event was moved to the _onTableBuilt function
}
},
@@ -541,27 +571,46 @@ var FHC_TableWidget = {
if (data.hasOwnProperty("dataset") && $.isArray(data.dataset))
{
if (options == null) options = {};
options.columnDefaults={
...(options.columnDefaults||{}),
headerTooltip:
typeof options.columnDefaults?.tooltipsHeader == "undefined"
? true
: options.columnDefaults?.tooltipsHeader,
};
options.columns = arrayTabulatorColumns;
options.data = data.dataset;
options.persistence = (typeof options.persistence == 'undefined') ? true : options.persistence; // enables persistence (default store in localStorage if available, else in cookie)
options.persistenceID = (typeof options.persistenceID == 'undefined') ? data.tableUniqueId : options.persistenceID; // persistenceID to store persistence data seperately for multiple tables
let defaultPersistence = {
sort: true,
columns: true,
filter: false,
headerFilter: false,
group: false,
page: false,
}
options.persistence = (typeof options.persistence == 'undefined') ? defaultPersistence : options.persistence; // enables persistence (default store in localStorage if available, else in cookie)
options.persistenceID = (typeof options.persistenceID == 'undefined') ? data.tableUniqueId : options.persistenceID; // persistenceID to store persistence data seperately for multiple tables
options.movableColumns = (typeof options.movableColumns == 'undefined') ? true : options.movableColumns; // allows changing column order
options.tooltipsHeader = (typeof options.tooltipsHeader == 'undefined') ? true : options.tooltipsHeader; // set header tooltip with column title
options.placeholder = _func_placeholder(); // display text when table is empty
if (typeof options.rowSelectionChanged == 'undefined')
{
options.rowSelectionChanged = function(data, rows){
_func_rowSelectionChanged(data, rows);
};
}
options.columnVisibilityChanged = function(column, visible) {
_func_columnVisibilityChanged(column, visible);
};
// Renders the tabulator
tableWidgetDiv.find("#tableWidgetTabulator").tabulator(options);
//! callbacks that need to be attached after the table has built in tabulator version 5+
tableWidgetDiv
.find("#tableWidgetTabulator")
.tabulator("on", "rowSelectionChanged", _func_rowSelectionChanged);
tableWidgetDiv
.find("#tableWidgetTabulator")
.tabulator(
"on",
"columnVisibilityChanged",
_func_columnVisibilityChanged
);
}
}
@@ -717,6 +766,10 @@ var FHC_TableWidget = {
}
},
_setBootstrapVersion: function (data) {
_bootstrapVersion = data.bootstrapVersion;
},
_getTableWidgetUniqueIdArray: function() {
var tableWidgetUniqueIdArray = [];
@@ -764,21 +817,28 @@ function _renderTabulatorHeaderHTML(tableWidgetDiv){
var tableUniqueId = tableWidgetDiv.attr('tableUniqueId');
var outerdivattr = 'class="btn-toolbar d-flex justify-content-end mb-2"';
var buttonclass = 'btn-outline-secondary';
if(_bootstrapVersion == 3) {
outerdivattr = 'class="btn-toolbar pull-right" style="margin-bottom:0.5rem;"';
buttonclass = 'btn-default';
}
var tabulatorHeaderHTML = '';
tabulatorHeaderHTML += '<div class="btn-toolbar pull-right" role="toolbar">';
tabulatorHeaderHTML += '<div ' + outerdivattr + ' role="toolbar">';
tabulatorHeaderHTML += '<div class="btn-group" role="group">';
tabulatorHeaderHTML += '' +
'<button id="download-csv" class="btn btn-default" type="button" ' +
'<button id="download-csv" class="btn ' + buttonclass + '" type="button" ' +
'data-toggle="tooltip" data-placement="left" title="Download CSV">' +
'<small>CSV&nbsp;&nbsp;</small><i class="fa fa-arrow-down"></i>' +
'</button>';
tabulatorHeaderHTML += '' +
'<button id="help" class="btn btn-default" type="button" ' +
'<button id="help" class="btn ' + buttonclass + '" type="button" ' +
'data-toggle="collapse tooltip" data-target="tabulatorHelp-'+ tableUniqueId + '" data-placement="left" ' +
'title="' + FHC_PhrasesLib.t("ui", "hilfe") + '"><i class="fa fa-question"></i>' +
'</button>';
tabulatorHeaderHTML += '' +
'<button id="settings" class="btn btn-default" type="button" ' +
'<button id="settings" class="btn ' + buttonclass + '" type="button" ' +
'data-toggle="collapse tooltip" data-target="tabulatorSettings-'+ tableUniqueId + '" data-placement="left" ' +
'title="' + FHC_PhrasesLib.t("ui", "tabelleneinstellungen") + '" ' +
'aria-expanded="false" aria-controls="tabulatorSettings-'+ tableUniqueId + '">' +
@@ -798,26 +858,51 @@ function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv){
var tabulatorHeaderCollapseHTML = '';
var colclass = 'col-12 mb-2 collapse';
var accordionclass = 'accordion';
var accordionitemclass = 'accordion-item';
var accordionheaderclass = 'accordion-header';
var accordionh5class = '';
var accordiondataattr = 'class="accordion-button" data-bs-toggle="collapse" data-bs-parent="#accordion"';
var accordioncollapseclass = 'accordion-collapse';
var accordionbodyclass = 'accordion-body';
var btngrpclass = 'd-flex flex-row flex-wrap btn-group';
var buttonstyle = 'flex:0 0 auto';
var buttonclass = 'btn-outline-secondary flex-shrink-1';
if(_bootstrapVersion == 3) {
colclass = 'col-lg-12 collapse';
accordionclass = 'panel-group';
accordionitemclass = 'panel panel-default';
accordionheaderclass = 'panel-heading';
accordionh5class = 'panel-title';
accordiondataattr = 'data-toggle="collapse" data-parent="#accordion"';
accordioncollapseclass = 'panel-collapse';
accordionbodyclass = 'panel-body';
btngrpclass = 'btn-group';
buttonstyle = '';
buttonclass = 'btn-default';
}
// CollapseHTML 'Settings'
tabulatorHeaderCollapseHTML += '<div class="row">';
tabulatorHeaderCollapseHTML += '<div class="col-lg-12 collapse" id="tabulatorSettings-'+ tableUniqueId + '">';
tabulatorHeaderCollapseHTML += '<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">';
tabulatorHeaderCollapseHTML += '<div class="' + colclass + '" id="tabulatorSettings-'+ tableUniqueId + '">';
tabulatorHeaderCollapseHTML += '<div class="' + accordionclass + '" id="accordion" role="tablist" aria-multiselectable="true">';
tabulatorHeaderCollapseHTML += '<div class="panel panel-default">';
tabulatorHeaderCollapseHTML += '<div class="panel-heading" role="tab" id="headingOne">';
tabulatorHeaderCollapseHTML += '<h5 class="panel-title">';
tabulatorHeaderCollapseHTML += '<div class="' + accordionitemclass + '">';
tabulatorHeaderCollapseHTML += '<div class="' + accordionheaderclass + '" role="tab" id="headingOne">';
tabulatorHeaderCollapseHTML += '<h5 class="' + accordionh5class + '">';
tabulatorHeaderCollapseHTML += '' +
'<a role="button" data-toggle="collapse" data-parent="#accordion" ' +
'<a role="button" ' + accordiondataattr + ' ' +
'href="#selectColumns-' + tableUniqueId + '" ' +
'aria-expanded="false" aria-controls="selectColumns">' +
FHC_PhrasesLib.t("ui", "spaltenEinstellen") +
'</a>';
tabulatorHeaderCollapseHTML += '</h5>';
tabulatorHeaderCollapseHTML += '</div>'; // end panel-heading
tabulatorHeaderCollapseHTML += '<div id="selectColumns-' + tableUniqueId + '" class="panel-collapse collapse" ' +
tabulatorHeaderCollapseHTML += '</div>'; // end panel-heading / accordion-header
tabulatorHeaderCollapseHTML += '<div id="selectColumns-' + tableUniqueId + '" class="' + accordioncollapseclass + ' collapse" ' +
'role="tabpanel" aria-labelledby="headingOne">';
tabulatorHeaderCollapseHTML += '<div class="panel-body">';
tabulatorHeaderCollapseHTML += '<div class="btn-group" role="group">';
tabulatorHeaderCollapseHTML += '<div class="' + accordionbodyclass + '">';
tabulatorHeaderCollapseHTML += '<div class="' + btngrpclass + '" role="group">';
// Create column picker (Spalten einstellen)
tableWidgetDiv.find('#tableWidgetTabulator').tabulator('getColumns').forEach(function(column)
@@ -833,22 +918,22 @@ function _renderTabulatorHeaderCollapseHTML(tableWidgetDiv){
{
if ($.inArray(field, tableWidgetBlacklistArray_columnUnselectable) < 0)
{
tabulatorHeaderCollapseHTML += '<button type="button" class="btn btn-default btn-sm btn-select-col ' + btn_select_col_selected +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
tabulatorHeaderCollapseHTML += '<button type="button" style="' + buttonstyle + '" class="btn ' + buttonclass + ' btn-sm btn-select-col ' + btn_select_col_selected +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
}
}
// Else provide all tabulator fields as pickable columns
else
{
tabulatorHeaderCollapseHTML += '<button type="button" class="btn btn-default btn-sm btn-select-col ' + btn_select_col_selected +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
tabulatorHeaderCollapseHTML += '<button type="button" style="' + buttonstyle + '" class="btn ' + buttonclass + ' btn-sm btn-select-col ' + btn_select_col_selected +'" aria-pressed="true" id="btn-' + field + '" value="' + field + '">' + title + '</button>';
}
});
tabulatorHeaderCollapseHTML += '</div>'; // end btn-group
tabulatorHeaderCollapseHTML += '</div>'; // end panel-body
tabulatorHeaderCollapseHTML += '</div>'; // end panel-collapse
tabulatorHeaderCollapseHTML += '</div>'; // end panel
tabulatorHeaderCollapseHTML += '</div>'; // end panel-body / accordion-body
tabulatorHeaderCollapseHTML += '</div>'; // end panel-collapse / accordion-collapse
tabulatorHeaderCollapseHTML += '</div>'; // end panel / accordion-item
tabulatorHeaderCollapseHTML += '</div>'; // end panel-group
tabulatorHeaderCollapseHTML += '</div>'; // end panel-group / accordion
tabulatorHeaderCollapseHTML += ' </div>'; // end col
tabulatorHeaderCollapseHTML += ' </div>'; // end row
@@ -860,17 +945,24 @@ function _renderTabulatorFooterHTML(tableWidgetFooterOptions){
var tabulatorFooterHTML = '';
var outerdivattr = 'class="btn-toolbar mt-4"';
var buttonclass = 'btn btn-outline-secondary float-start';
if(_bootstrapVersion == 3) {
outerdivattr = 'style="margin-top:1.5rem;" class="btn-toolbar"';
buttonclass = 'btn btn-default pull-left';
}
// If property selectButtons is true, render 'Alle auswaehlen / Alle abwaehlen' buttons
if (typeof tableWidgetFooterOptions.selectButtons != 'undefined' && tableWidgetFooterOptions.selectButtons == true)
{
tabulatorFooterHTML += '<div class="btn-toolbar" role="toolbar">';
tabulatorFooterHTML += '<div ' + outerdivattr + ' role="toolbar">';
tabulatorFooterHTML += '<div class="btn-group" role="group">';
tabulatorFooterHTML += '' +
'<button id="select-all" class="btn btn-default pull-left" type="button">'
'<button id="select-all" class="' + buttonclass + '" type="button">'
+ FHC_PhrasesLib.t("ui", "alleAuswaehlen") + '' +
'</button>';
tabulatorFooterHTML += '' +
'<button id="deselect-all" class="btn btn-default pull-left" type="button">'
'<button id="deselect-all" class="' + buttonclass + '" type="button">'
+ FHC_PhrasesLib.t("ui", "alleAbwaehlen") + '' +
'</button>';
tabulatorFooterHTML += '' +
+12
View File
@@ -0,0 +1,12 @@
export default {
getLvMenu(lvid, studiensemester_kurzbz) {
return this.$fhcApi.get(
FHC_JS_DATA_STORAGE_OBJECT.app_root +
FHC_JS_DATA_STORAGE_OBJECT.ci_router +
`/api/frontend/v1/LvMenu/getLvMenu/${lvid}/${studiensemester_kurzbz}`,
{}
);
},
}
+18
View File
@@ -0,0 +1,18 @@
export default {
open: function () {
return this.$fhcApi.get(
`/api/frontend/v1/Ampeln/open`,{});
},
all: function () {
return this.$fhcApi.get(
`/api/frontend/v1/Ampeln/all`,{});
},
confirm: function (ampel_id) {
return this.$fhcApi.get(
`/api/frontend/v1/Ampeln/confirm/${ampel_id}`,{});
},
}
+15
View File
@@ -0,0 +1,15 @@
export default {
getAuthUID() {
return this.$fhcApi.get(
'/api/frontend/v1/AuthInfo/getAuthUID',
{ }
);
},
getAuthInfo() {
return this.$fhcApi.get(
'/api/frontend/v1/AuthInfo/getAuthInfo',
{}
);
},
};
+37
View File
@@ -0,0 +1,37 @@
export default {
getBookmarks: function () {
return this.$fhcApi.get(
`/api/frontend/v1/Bookmark/getBookmarks`
,{}
);
},
delete: function (bookmark_id) {
return this.$fhcApi.get(
`/api/frontend/v1/Bookmark/delete/${bookmark_id}`
,{}
);
},
update: function ({ bookmark_id, url, title, tag=null}) {
return this.$fhcApi.post(
`/api/frontend/v1/Bookmark/update/${bookmark_id}`
, {
url: url,
title: title
}
);
},
insert: function ({url, title, tag}) {
return this.$fhcApi.post(
`/api/frontend/v1/Bookmark/insert`
,{
url: url,
title: title,
tag: tag
}
);
},
}
+45
View File
@@ -0,0 +1,45 @@
export default {
content(content_id, version=null, sprache=null, sichtbar=null) {
return this.$fhcApi.get(
"/api/frontend/v1/Cms/content",
{
content_id: content_id,
...(version?{version}:{}),
...(sprache?{sprache}:{}),
...(sichtbar?{sichtbar}:{}),
}
);
},
//api function used for the news View that renders the html
getNews(page = 1, page_size = 10, sprache) {
return this.$fhcApi.get(
"/api/frontend/v1/Cms/getNews",
{
page,
page_size,
sprache,
},
);
},
//api function used for the widget component
news(limit) {
return this.$fhcApi.get(
"/api/frontend/v1/Cms/news",
{
limit: limit
}
);
},
getNewsRowCount: function () {
return this.$fhcApi.get(
"/api/frontend/v1/Cms/getNewsRowCount",
{}
);
},
getNewsExtra: function(){
return this.$fhcApi.get(
"/api/frontend/v1/Cms/getStudiengangInfoForNews",
{}
);
}
}
+6
View File
@@ -0,0 +1,6 @@
export default {
async getViewData() {
const url = `/api/frontend/v1/Cis4FhcApi/getViewData`;
return this.$fhcApi.get(url, null, null)
},
}
+25
View File
@@ -0,0 +1,25 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getLvMenu(lvid, studiensemester_kurzbz) {
return {
method: 'get',
url: `/api/frontend/v1/LvMenu/getLvMenu/${lvid}/${studiensemester_kurzbz}`
};
}
};
+31
View File
@@ -0,0 +1,31 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getAuthUID() {
return {
method: 'get',
url: '/api/frontend/v1/AuthInfo/getAuthUID'
};
},
getAuthInfo() {
return {
method: 'get',
url: '/api/frontend/v1/AuthInfo/getAuthInfo'
};
}
};
+22
View File
@@ -0,0 +1,22 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import person from "./betriebsmittel/person.js";
export default {
person
};
@@ -0,0 +1,69 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getAllBetriebsmittel(type, id, betriebsmitteltypes) {
return {
method: 'get',
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/getAllBetriebsmittel/' + type + '/' + id,
params: {
betriebsmitteltypes
}
};
},
addNewBetriebsmittel(person_id, params) {
return {
method: 'post',
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/addNewBetriebsmittel/' + person_id,
params
};
},
loadBetriebsmittel(betriebsmittelperson_id) {
return {
method: 'post',
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/loadBetriebsmittel/' + betriebsmittelperson_id
};
},
updateBetriebsmittel(betriebsmittelperson_id, params) {
return {
method: 'post',
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/updateBetriebsmittel/' + betriebsmittelperson_id,
params
};
},
deleteBetriebsmittel(betriebsmittelperson_id) {
return {
method: 'post',
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/deleteBetriebsmittel/' + betriebsmittelperson_id
};
},
getTypenBetriebsmittel(betriebsmitteltypes) {
return {
method: 'get',
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/getTypenBetriebsmittel/',
params: {
betriebsmitteltypes
}
};
},
loadInventarliste(query) {
return {
method: 'get',
url: 'api/frontend/v1/betriebsmittel/betriebsmittelP/loadInventarliste/' + query
};
}
};
+37
View File
@@ -0,0 +1,37 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
updatePersonUnrulyStatus(person_id, unruly) {
const params = { person_id, unruly }
const url = '/api/frontend/v1/checkperson/CheckPerson/updatePersonUnrulyStatus';
return {
method: 'post',
url,
params
};
},
filterPerson(params, base = '') {
// TODO(chris): seems to be called from nowhere?
const url = base + '/api/frontend/v1/checkperson/CheckPerson/filterPerson';
return {
method: 'post',
url,
params
};
}
};
+25
View File
@@ -0,0 +1,25 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getViewData() {
return {
method: 'get',
url: '/api/frontend/v1/Cis4FhcApi/getViewData'
};
}
};
+25
View File
@@ -0,0 +1,25 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getMenu() {
return {
method: 'get',
url: '/api/frontend/v1/CisMenu/getMenu'
};
}
};
+64
View File
@@ -0,0 +1,64 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
content(content_id, version=null, sprache=null, sichtbar=null) {
return {
method: 'get',
url: '/api/frontend/v1/Cms/content',
params: {
content_id,
...(version ? { version } : {}),
...(sprache ? { sprache } : {}),
...(sichtbar ? { sichtbar } : {})
}
};
},
//api function used for the news View that renders the html
getNews(page = 1, page_size = 10, sprache) {
return {
method: 'get',
url: '/api/frontend/v1/Cms/getNews',
params: {
page,
page_size,
sprache
},
};
},
//api function used for the widget component
news(limit) {
return {
method: 'get',
url: '/api/frontend/v1/Cms/news',
params: { limit }
};
},
getNewsRowCount() {
return {
method: 'get',
url: '/api/frontend/v1/Cms/getNewsRowCount'
};
},
getNewsExtra() {
// TODO(chris): seems to be called from nowhere?
return {
method: 'get',
url: '/api/frontend/v1/Cms/getStudiengangInfoForNews'
};
}
};
+37
View File
@@ -0,0 +1,37 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getHeader(person_id){
return {
method: 'get',
url: 'api/frontend/v1/vertraege/vertraege/getHeader/' + person_id,
};
},
getPersonAbteilung(mitarbeiter_uid){
return {
method: 'get',
url: 'api/frontend/v1/vertraege/vertraege/getPersonAbteilung/' + mitarbeiter_uid,
};
},
getLeitungOrg(oekurzbz){
return {
method: 'get',
url: 'api/frontend/v1/vertraege/vertraege/getLeitungOrg/' + oekurzbz,
};
},
}
+95
View File
@@ -0,0 +1,95 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
saveCustomFilter(wsParams) {
return {
method: 'post',
url: '/api/frontend/v1/filter/saveCustomFilter',
params: {
filterUniqueId: wsParams.filterUniqueId,
filterType: wsParams.filterType,
customFilterName: wsParams.customFilterName
}
};
},
removeCustomFilter(wsParams) {
return {
method: 'post',
url: '/api/frontend/v1/filter/removeCustomFilter',
params: {
filterUniqueId: wsParams.filterUniqueId,
filterType: wsParams.filterType,
filterId: wsParams.filterId
}
};
},
applyFilterFields(wsParams) {
return {
method: 'post',
url: '/api/frontend/v1/filter/applyFilterFields',
params: {
filterUniqueId: wsParams.filterUniqueId,
filterType: wsParams.filterType,
filterFields: wsParams.filterFields
}
};
},
addFilterField(wsParams) {
return {
method: 'post',
url: '/api/frontend/v1/filter/addFilterField',
params: {
filterUniqueId: wsParams.filterUniqueId,
filterType: wsParams.filterType,
filterField: wsParams.filterField
}
};
},
removeFilterField(wsParams) {
return {
method: 'post',
url: '/api/frontend/v1/filter/removeFilterField',
params: {
filterUniqueId: wsParams.filterUniqueId,
filterType: wsParams.filterType,
filterField: wsParams.filterField
}
};
},
getFilterById(wsParams) {
return {
method: 'get',
url: '/api/frontend/v1/filter/getFilter',
params: {
filterUniqueId: wsParams.filterUniqueId,
filterType: wsParams.filterType,
filterId: wsParams.filterId
}
};
},
getFilter(wsParams) {
return {
method: 'get',
url: '/api/frontend/v1/filter/getFilter',
params: {
filterUniqueId: wsParams.filterUniqueId,
filterType: wsParams.filterType
}
};
}
};
+89
View File
@@ -0,0 +1,89 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getOrgHeads() {
var url = 'api/frontend/v1/funktionen/Funktionen/getOrgHeads';
return {
method: 'get',
url,
};
},
getOrgetsForCompany(unternehmen) {
var url = 'api/frontend/v1/funktionen/Funktionen/getOrgetsForCompany'
+ '/' + unternehmen;
return {
method: 'get',
url,
};
},
getAllOrgUnits(filterStudent) {
var url = 'api/frontend/v1/funktionen/Funktionen/getAllOrgUnits';
return {
method: 'get',
url,
};
},
getAllUserFunctions(mitarbeiter_uid) {
var url = 'api/frontend/v1/funktionen/Funktionen/getAllUserFunctions'
+ '/' + mitarbeiter_uid;
return {
method: 'get',
url,
};
},
getAllFunctions() {
var url = 'api/frontend/v1/funktionen/Funktionen/getAllFunctions';
return {
method: 'get',
url,
};
},
addFunction(params) {
return {
method: 'post',
url: 'api/frontend/v1/funktionen/Funktionen/insertFunction/',
params
};
},
loadFunction(benutzerfunktion_id) {
var url = 'api/frontend/v1/funktionen/Funktionen/loadFunction'
+ '/' + benutzerfunktion_id;
return {
method: 'get',
url,
};
},
updateFunction(params) {
return {
method: 'post',
url: 'api/frontend/v1/funktionen/Funktionen/updateFunction/',
params
};
},
deleteFunction(benutzerfunktion_id) {
return {
method: 'post',
url: 'api/frontend/v1/funktionen/Funktionen/deleteFunction/' + benutzerfunktion_id
};
},
getOes(head, searchString) {
return {
method: 'get',
url: 'api/frontend/v1/funktionen/Funktionen/searchOes/' + head + '/' + searchString
};
},
};
+25
View File
@@ -0,0 +1,25 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getAll() {
return {
method: 'get',
url: '/api/frontend/v1/language/get'
};
}
};
+39
View File
@@ -0,0 +1,39 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getStudentenMail(lehreinheit_id) {
// TODO(chris): seems to be called from nowhere?
return {
method: 'get',
url: '/api/frontend/v1/Lehre/lvStudentenMail',
params: { lehreinheit_id }
};
},
getLvInfo(studiensemester_kurzbz, lehrveranstaltung_id) {
return {
method: 'get',
url: `/api/frontend/v1/Lehre/LV/${studiensemester_kurzbz}/${lehrveranstaltung_id}`
};
},
getStudentPruefungen(lehrveranstaltung_id) {
return {
method: 'get',
url: `/api/frontend/v1/Lehre/Pruefungen/${lehrveranstaltung_id}`
};
}
};
+96
View File
@@ -0,0 +1,96 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getRoomInfo(ort_kurzbz, start_date, end_date) {
return {
method: 'post',
url: '/api/frontend/v1/LvPlan/getRoomplan',
params: { ort_kurzbz, start_date, end_date }
};
},
getLvPlan(start_date, end_date, lv_id) {
return {
method: 'get',
url: '/api/frontend/v1/LvPlan/getLvPlan',
params: { start_date, end_date, lv_id }
};
},
eventsPersonal(start_date, end_date) {
return {
method: 'post',
url: '/api/frontend/v1/lvPlan/eventsPersonal',
params: { start_date, end_date }
};
},
eventsLv(lv_id, start_date, end_date) {
return {
method: 'post',
url: '/api/frontend/v1/lvPlan/eventsLv',
params: { lv_id, start_date, end_date }
};
},
getStunden() {
return {
method: 'get',
url: '/api/frontend/v1/LvPlan/Stunden'
};
},
getOrtReservierungen(ort_kurzbz, start_date, end_date) {
return {
method: 'post',
url: `/api/frontend/v1/LvPlan/getReservierungen/${ort_kurzbz}`,
params: { start_date, end_date }
};
},
getLvPlanReservierungen(start_date, end_date) {
return {
method: 'post',
url: '/api/frontend/v1/LvPlan/getReservierungen',
params: { start_date, end_date }
};
},
getLehreinheitStudiensemester(lehreinheit_id) {
return {
method: 'get',
url: `/api/frontend/v1/LvPlan/getLehreinheitStudiensemester/${lehreinheit_id}`
};
},
studiensemesterDateInterval(date) {
return {
method: 'get',
url: `/api/frontend/v1/LvPlan/studiensemesterDateInterval/${date}`
};
},
LvPlanEvents(start_date, end_date, lv_id) {
return {
method: 'post',
url: '/api/frontend/v1/LvPlan/LvPlanEvents',
params: {
start_date: start_date,
end_date: end_date,
lv_id: lv_id
}
};
},
getLv(lehrveranstaltung_id) {
return {
method: 'get',
url: '/api/frontend/v1/LvPlan/getLv/' + lehrveranstaltung_id
};
}
};
+110
View File
@@ -0,0 +1,110 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getMessages(params) {
return {
method: 'get',
url: 'api/frontend/v1/messages/messages/getMessages/'
+ params.id + '/'
+ params.type + '/'
+ params.size + '/'
+ params.page
};
},
getVorlagen(){
return {
method: 'get',
url: 'api/frontend/v1/messages/messages/getVorlagen/'
};
},
getMsgVarsLoggedInUser(){
return {
method: 'get',
url: 'api/frontend/v1/messages/messages/getMsgVarsLoggedInUser/'
};
},
getMessageVarsPerson(userParams){
return {
method: 'post',
url: 'api/frontend/v1/messages/messages/getMessageVarsPerson/' + userParams.id + '/' + userParams.type_id
};
},
getMsgVarsPrestudent(userParams){
return {
method: 'post',
url: 'api/frontend/v1/messages/messages/getMsgVarsPrestudent/' + userParams.id + '/' + userParams.type_id
};
},
getPersonId(params){
return {
method: 'post',
url: 'api/frontend/v1/messages/messages/getPersonId/' + params.id + '/' + params.type_id
};
},
getUid(userParams){
return {
method: 'get',
url: 'api/frontend/v1/messages/messages/getUid/' + userParams.id + '/' + userParams.type_id
};
},
getVorlagentext(vorlage_kurzbz){
return {
method: 'get',
url: 'api/frontend/v1/messages/messages/getVorlagentext/' + vorlage_kurzbz
};
},
getNameOfDefaultRecipient(params){
return {
method: 'get',
url: 'api/frontend/v1/messages/messages/getNameOfDefaultRecipient/' + params.id + '/' + params.type_id
};
},
getPreviewText(userParams, params){
return {
method: 'post',
url: 'api/frontend/v1/messages/messages/getPreviewText/' + userParams.id + '/' + userParams.type_id,
params
};
},
getReplyData(messageId){
return {
method: 'get',
url: 'api/frontend/v1/messages/messages/getReplyData/' + messageId
};
},
sendMessageFromModalContext(id, params) {
return {
method: 'post',
url: 'api/frontend/v1/messages/messages/sendMessage/' + id,
params
};
},
sendMessage(id, params) {
return {
method: 'post',
url: 'api/frontend/v1/messages/messages/sendMessage/' + id,
params
};
},
deleteMessage(messageId){
return {
method: 'post',
url: 'api/frontend/v1/messages/messages/deleteMessage/' + messageId
};
}
}
+33
View File
@@ -0,0 +1,33 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getHeader(navigation_page) {
return {
method: 'get',
url: '/api/frontend/v1/navigation/header',
params: { navigation_page }
};
},
getMenu(navigation_page) {
return {
method: 'get',
url: '/api/frontend/v1/navigation/menu',
params: { navigation_page }
};
}
};
+22
View File
@@ -0,0 +1,22 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import person from "./notiz/person.js";
export default {
person
};
+93
View File
@@ -0,0 +1,93 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getNotizen(id, type) {
return {
method: 'get',
url: 'api/frontend/v1/notiz/notizPerson/getNotizen/' + id + '/' + type
};
},
getUid() {
return {
method: 'get',
url: 'api/frontend/v1/notiz/notizPerson/getUid/'
};
},
addNewNotiz(id, params) {
return {
method: 'post',
url: 'api/frontend/v1/notiz/notizPerson/addNewNotiz/' + id,
params
};
},
loadNotiz(notiz_id) {
return {
method: 'post',
url: 'api/frontend/v1/notiz/notizPerson/loadNotiz/',
params: {
notiz_id
}
};
},
loadDokumente(notiz_id) {
return {
method: 'post',
url: 'api/frontend/v1/notiz/notizPerson/loadDokumente/',
params: {
notiz_id
}
};
},
deleteNotiz(notiz_id, type_id, id) {
return {
method: 'post',
url: 'api/frontend/v1/notiz/notizPerson/deleteNotiz/',
params: {
notiz_id,
type_id,
id
}
};
},
updateNotiz(notiz_id, params) {
return {
method: 'post',
url: 'api/frontend/v1/notiz/notizPerson/updateNotiz/' + notiz_id,
params
};
},
getMitarbeiter(event) {
return {
method: 'get',
url: 'api/frontend/v1/notiz/notizPerson/getMitarbeiter/' + event
};
},
isBerechtigt(id, type_id) {
// TODO(chris): seems to be called from nowhere?
return {
method: 'get',
url: 'api/frontend/v1/notiz/notizPerson/isBerechtigt/'
};
},
getCountNotes(person_id){
return {
method: 'get',
url: 'api/frontend/v1/notiz/notizPerson/getCountNotes/' + person_id
};
}
};
+40
View File
@@ -0,0 +1,40 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getContentID(ort_kurbz) {
return {
method: 'get',
url: '/api/frontend/v1/Ort/ContentID',
params: { ort_kurzbz: ort_kurbz }
};
},
getRooms(datum, von, bis, typ, personenanzahl = 0) {
return {
method: 'get',
url: '/api/frontend/v1/Ort/getRooms',
params: { datum, von, bis, typ, personenanzahl }
};
},
getRoomTypes() {
return {
method: 'get',
url: '/api/frontend/v1/Ort/getTypes',
params: { }
};
}
};
+45
View File
@@ -0,0 +1,45 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
loadCategory(category) {
return {
method: 'get',
url: '/api/frontend/v1/phrasen/loadModule/' + category
};
},
setLanguage(categories,language) {
const params = {categories, language}
return {
method: 'post',
url: '/api/frontend/v1/phrasen/setLanguage',
params
};
},
getLanguage() {
return {
method: 'get',
url: '/api/frontend/v1/phrasen/getLanguage'
};
},
getActiveDbLanguages() {
return {
method: 'get',
url: '/api/frontend/v1/phrasen/getAllLanguages'
};
}
};
+78
View File
@@ -0,0 +1,78 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
profilViewData(uid) {
let url = "/api/frontend/v1/Profil/profilViewData";
if(uid){
url += `/${uid}`;
}
return {
method: 'get',
url: url
};
},
fotoSperre(value) {
return {
method: 'get',
url: `/api/frontend/v1/Profil/fotoSperre/${value}`
};
},
isStudent(uid) {
// TODO(chris): seems to be called from nowhere?
return {
method: 'get',
url: '/api/frontend/v1/Profil/isStudent',
params: { uid }
};
},
isMitarbeiter(uid) {
return {
method: 'get',
url: `/api/frontend/v1/Profil/isMitarbeiter/${uid}`
};
},
getZustellAdresse() {
// TODO(chris): seems to be called from nowhere?
return {
method: 'get',
url: '/api/frontend/v1/Profil/getZustellAdresse'
};
},
getZustellKontakt() {
// TODO(chris): seems to be called from nowhere?
return {
method: 'get',
url: '/api/frontend/v1/Profil/getZustellKontakt'
};
},
getGemeinden(nation, zip) {
return {
method: 'get',
url: `/api/frontend/v1/Profil/getGemeinden/${nation}/${zip}`
};
},
getAllNationen() {
return {
method: 'get',
url: '/api/frontend/v1/Profil/getAllNationen'
};
},
};
+124
View File
@@ -0,0 +1,124 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
//! API calls for profil update requests
getStatus() {
return {
method: 'get',
url: '/api/frontend/v1/ProfilUpdate/getStatus'
};
},
getTopic() {
return {
method: 'get',
url: '/api/frontend/v1/ProfilUpdate/getTopic'
};
},
acceptProfilRequest({profil_update_id, uid, status_message, topic, requested_change}) {
return {
method: 'post',
url: '/api/frontend/v1/ProfilUpdate/acceptProfilRequest',
params: {
profil_update_id,
uid,
status_message,
topic,
requested_change
}
};
},
denyProfilRequest({profil_update_id, uid, topic, status_message}) {
return {
method: 'post',
url: '/api/frontend/v1/ProfilUpdate/denyProfilRequest',
params: {
profil_update_id,
uid,
topic,
status_message
}
};
},
insertFile(dms, replace = null) {
return {
method: 'post',
url: `/api/frontend/v1/ProfilUpdate/insertFile/${replace}`,
params: dms
};
},
updateProfilbild(dms) {
return {
method: 'post',
url: `/api/frontend/v1/ProfilUpdate/updateProfilbild`,
params: dms
};
},
getProfilUpdateWithPermission(filter) {
const url_filter = (filter !== '') ? '/' + encodeURIComponent(filter) : '';
return {
method: 'get',
url: '/api/frontend/v1/ProfilUpdate/getProfilUpdateWithPermission' + url_filter
};
},
getProfilRequestFiles(requestID) {
return {
method: 'get',
url: `/api/frontend/v1/ProfilUpdate/getProfilRequestFiles/${requestID}`
};
},
selectProfilRequest(uid = null, id = null) {
return {
method: 'get',
url: '/api/frontend/v1/ProfilUpdate/selectProfilRequest',
params: {
...(uid ? { uid } : {}),
...(id ? { id } : {})
}
};
},
insertProfilRequest(topic, payload, fileID = null) {
return {
method: 'post',
url: '/api/frontend/v1/ProfilUpdate/insertProfilRequest',
params: {
topic,
payload,
...(fileID ? { fileID } : {})
}
};
},
updateProfilRequest(topic, payload, ID, fileID = null) {
return {
method: 'post',
url: '/api/frontend/v1/ProfilUpdate/updateProfilRequest',
params: {
topic,
payload,
ID,
...(fileID ? { fileID } : {})
}
};
},
deleteProfilRequest(requestID) {
return {
method: 'post',
url: '/api/frontend/v1/ProfilUpdate/deleteProfilRequest',
params: { requestID }
};
}
};
+12
View File
@@ -0,0 +1,12 @@
export default {
loadRenderers() {
return {
method: 'get',
url: '/api/frontend/v1/RendererLoader/GetRenderers',
params: {
}
};
},
}
+29
View File
@@ -0,0 +1,29 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
info(app, path) {
return {
method: 'post',
url: '/api/frontend/v1/RouteInfo/info',
params: {
app: app,
path: path
}
};
}
};
+40
View File
@@ -0,0 +1,40 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
search(params) {
return {
method: 'post',
url: '/api/frontend/v1/searchbar/search',
params
};
},
searchCis(params) {
return {
method: 'post',
url: '/api/frontend/v1/searchbar/searchCis',
params
};
},
searchStv(params) {
return {
method: 'post',
url: '/api/frontend/v1/searchbar/searchStv',
params
};
}
};
+32
View File
@@ -0,0 +1,32 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
studiengangInformation() {
return {
method: 'get',
url: '/api/frontend/v1/Studgang/getStudiengangInfo'
};
},
getStudiengangByKz(studiengang_kz) {
return {
method: 'get',
url: '/api/frontend/v1/organisation/StudiengangEP/getStudiengangByKz',
params: { studiengang_kz }
};
}
};
+28
View File
@@ -0,0 +1,28 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import abmeldung from "./studstatus/abmeldung.js";
import unterbrechung from "./studstatus/unterbrechung.js";
import wiederholung from "./studstatus/wiederholung.js";
import leitung from "./studstatus/leitung.js";
export default {
abmeldung,
unterbrechung,
wiederholung,
leitung
};
@@ -0,0 +1,45 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getDetails(antrag_id, prestudent_id) {
const url = '/api/frontend/v1/studstatus/abmeldung/'
+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);
return {
method: 'get',
url
};
},
create(studiensemester, prestudent_id, grund) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/abmeldung/createAntrag',
params: {
studiensemester,
prestudent_id,
grund
}
};
},
cancel(antrag_id) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/abmeldung/cancelAntrag',
params: { antrag_id }
};
}
};
+100
View File
@@ -0,0 +1,100 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getStgs() {
return {
method: 'get',
url: '/api/frontend/v1/studstatus/leitung/getActiveStgs'
};
},
getAntraege(url, config, params) {
return {
method: 'get',
url: '/api/frontend/v1/studstatus/leitung/getAntraege/' + url
};
},
getHistory(antrag_id) {
return {
method: 'get',
url: '/api/frontend/v1/studstatus/leitung/getHistory/' + antrag_id
};
},
getPrestudents(query, signal) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/getPrestudents',
params: { query }
};
},
approve(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/approveAntrag',
params: antrag
};
},
reject(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/rejectAntrag',
params: antrag
};
},
reopen(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/reopenAntrag',
params: antrag
};
},
pause(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/pauseAntrag',
params: antrag
};
},
unpause(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/unpauseAntrag',
params: antrag
};
},
object(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/objectAntrag',
params: antrag
};
},
approveObjection(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/approveObjection',
params: antrag
};
},
denyObjection(antrag) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/leitung/denyObjection',
params: antrag
};
}
};
@@ -0,0 +1,49 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getDetails(antrag_id, prestudent_id) {
const url = '/api/frontend/v1/studstatus/unterbrechung/'
+ (antrag_id !== undefined ? 'getDetailsForAntrag/' + antrag_id : 'getDetailsForNewAntrag/' + prestudent_id);
return {
method: 'get',
url
};
},
create(studiensemester, prestudent_id, grund, datum_wiedereinstieg, attachment) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/unterbrechung/createAntrag',
params: {
studiensemester,
prestudent_id,
grund,
datum_wiedereinstieg,
attachment
}
};
},
cancel(antrag_id) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/unterbrechung/cancelAntrag',
params: {
antrag_id
}
};
}
};
@@ -0,0 +1,63 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getDetails(prestudent_id) {
const url = '/api/frontend/v1/studstatus/wiederholung/getDetailsForNewAntrag/' + prestudent_id;
return {
method: 'get',
url
};
},
getLvs(antrag_id) {
const url = '/api/frontend/v1/studstatus/wiederholung/getLvs/' + antrag_id;
return {
method: 'get',
url
};
},
create(prestudent_id, studiensemester) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/wiederholung/createAntrag',
params: {
prestudent_id,
studiensemester
}
};
},
cancel(prestudent_id, studiensemester) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/wiederholung/cancelAntrag',
params: {
prestudent_id,
studiensemester
}
};
},
saveLvs(forbiddenLvs, mandatoryLvs) {
return {
method: 'post',
url: '/api/frontend/v1/studstatus/wiederholung/saveLvs',
params: {
forbiddenLvs,
mandatoryLvs
}
};
}
};
+50
View File
@@ -0,0 +1,50 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import app from './stv/app.js';
import lists from './stv/lists.js';
import verband from './stv/verband.js';
import students from './stv/students.js';
import filter from './stv/filter.js';
import konto from './stv/konto.js';
import kontakt from './stv/kontakt.js';
import prestudent from './stv/prestudent.js';
import status from './stv/status.js';
import details from './stv/details.js';
import exam from './stv/exam.js';
import abschlusspruefung from './stv/abschlusspruefung.js';
import grades from './stv/grades.js';
import mobility from './stv/mobility.js';
import admissionDates from './stv/admissionDates.js';
export default {
app,
lists,
verband,
students,
filter,
konto,
kontakt,
prestudent,
status,
details,
exam,
abschlusspruefung,
grades,
mobility,
admissionDates
};
@@ -0,0 +1,123 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getAbschlusspruefung(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getAbschlusspruefung/' + uid
};
},
addNewAbschlusspruefung(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/abschlusspruefung/insertAbschlusspruefung/',
params
};
},
loadAbschlusspruefung(id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/abschlusspruefung/loadAbschlusspruefung/',
params: { id }
};
},
updateAbschlusspruefung(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/abschlusspruefung/updateAbschlusspruefung/',
params
};
},
deleteAbschlusspruefung(id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/abschlusspruefung/deleteAbschlusspruefung/',
params: { id }
};
},
getTypenAbschlusspruefung() {
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getTypenAbschlusspruefung/'
};
},
getTypenAntritte() {
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getTypenAntritte/'
};
},
getBeurteilungen() {
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getBeurteilungen/'
};
},
getAkadGrade(studiengang_kz) {
return {
method: 'post',
url: 'api/frontend/v1/stv/abschlusspruefung/getAkadGrade/',
params: { studiengang_kz }
};
},
getTypStudiengang(studiengang_kz) {
// TODO(chris): seems to be called from nowhere?
return {
method: 'post',
url: 'api/frontend/v1/stv/abschlusspruefung/getTypStudiengang/',
params: { studiengang_kz }
};
},
getMitarbeiter(searchString) {
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getMitarbeiter/' + searchString
};
},
getPruefer(searchString) {
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getPruefer/' + searchString
};
},
getNoten() {
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getNoten/'
};
},
checkForExistingExams(uids) {
return {
method: 'post',
url: 'api/frontend/v1/stv/abschlusspruefung/checkForExistingExams/',
params: { uids }
};
},
getAllMitarbeiter(){
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getAllMitarbeiter/'
};
},
getAllPersons(){
return {
method: 'get',
url: 'api/frontend/v1/stv/abschlusspruefung/getAllPersons/'
};
}
};
@@ -0,0 +1,99 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getAufnahmetermine(person_id) {
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/getAufnahmetermine/' + person_id,
};
},
getListPlacementTests(prestudent_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/getListPlacementTests/' + prestudent_id,
};
},
getListStudyPlans(person_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/getListStudyPlans/' + person_id,
};
},
addNewPlacementTest(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/aufnahmetermine/insertAufnahmetermin/',
params
};
},
loadPlacementTest(rt_person_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/loadAufnahmetermin/' + rt_person_id,
};
},
updatePlacementTest(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/aufnahmetermine/updateAufnahmetermin/',
params
};
},
deletePlacementTest(rt_person_id){
return {
method: 'post',
url: 'api/frontend/v1/stv/aufnahmetermine/deleteAufnahmetermin/' + rt_person_id
};
},
loadDataRtPrestudent(prestudent_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/loadDataRtPrestudent/' + prestudent_id,
};
},
saveDataRtPrestudent(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/aufnahmetermine/insertOrUpdateDataRtPrestudent/',
params
};
},
loadAufnahmegruppen(params){
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/loadAufnahmegruppen/',
params
};
},
getResultReihungstest(params){
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/getResultReihungstest/',
params
};
},
loadFutureReihungstests(params){
return {
method: 'get',
url: 'api/frontend/v1/stv/aufnahmetermine/getZukuenftigeReihungstestStg/',
params
};
},
}
+31
View File
@@ -0,0 +1,31 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
configStudent() {
return {
method: 'get',
url: 'api/frontend/v1/stv/config/student'
};
},
configStudents() {
return {
method: 'get',
url: 'api/frontend/v1/stv/config/students'
};
}
};
+43
View File
@@ -0,0 +1,43 @@
export default {
getArchiv(person_id) {
return {
method: 'get',
url: 'api/frontend/v1/stv/archiv/getArchiv',
params: { person_id }
};
},
getArchivVorlagen() {
return {
method: 'get',
url: 'api/frontend/v1/stv/archiv/getArchivVorlagen'
};
},
archive(data) {
return {
method: 'post',
url: 'api/frontend/v1/documents/archive',
params: data
};
},
archiveSigned(data) {
return {
method: 'post',
url: 'api/frontend/v1/documents/archiveSigned',
params: data
};
},
update(data) {
return {
method: 'post',
url: 'api/frontend/v1/stv/archiv/update',
params: data
};
},
delete(akte_id, studiengang_kz) {
return {
method: 'post',
url: 'api/frontend/v1/stv/archiv/delete',
params: {akte_id, studiengang_kz}
};
}
};
+35
View File
@@ -0,0 +1,35 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getCourselist(params) {
return {
method: 'get',
url: 'api/frontend/v1/stv/LvTermine/getStundenplan/' + params.student_uid + '/'
+ params.start_date + '/'
+ params.end_date + '/'
+ params.group_consecutiveHours + '/'
+ params.dbStundenplanTable
};
},
getStudiensemester(){
return {
method: 'get',
url: 'api/frontend/v1/stv/LvTermine/getStudiensemester/'
};
},
}
+38
View File
@@ -0,0 +1,38 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
get(prestudent_id, studiensemester_kurzbz) {
return {
method: 'post',
url: 'api/frontend/v1/stv/student/get/'
+ encodeURIComponent(prestudent_id)
+ '/'
+ encodeURIComponent(studiensemester_kurzbz)
};
},
save(prestudent_id, studiensemester_kurzbz, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/student/save/'
+ encodeURIComponent(prestudent_id)
+ '/'
+ encodeURIComponent(studiensemester_kurzbz),
params
};
},
};
+76
View File
@@ -0,0 +1,76 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getDocumentsUnaccepted(params) {
return {
method: 'get',
url: 'api/frontend/v1/stv/dokumente/getDocumentsUnaccepted/' + params.id + '/' + params.studiengang_kz
};
},
getDocumentsAccepted(params) {
return {
method: 'get',
url: 'api/frontend/v1/stv/dokumente/getDocumentsAccepted/' + params.id + '/' + params.studiengang_kz
};
},
deleteZuordnung(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/dokumente/deleteZuordnung/' + params.prestudent_id + '/' + params.dokument_kurzbz
};
},
createZuordnung(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/dokumente/createZuordnung/' + params.prestudent_id + '/' + params.dokument_kurzbz
};
},
loadAkte(akte_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/dokumente/loadAkte/' + akte_id
};
},
getDoktypen(){
return {
method: 'get',
url: 'api/frontend/v1/stv/dokumente/getDoktypen/'
};
},
updateFile(akte_id, params){
return {
method: 'post',
url: 'api/frontend/v1/stv/dokumente/updateAkte/' + akte_id,
params
};
},
deleteFile(akte_id){
console.log("in deleteFile " + akte_id);
return {
method: 'post',
url: 'api/frontend/v1/stv/dokumente/deleteAkte/' + akte_id,
};
},
uploadFile(prestudent_id, params){
return {
method: 'post',
url: 'api/frontend/v1/stv/dokumente/uploadDokument/' + prestudent_id,
params
};
},
}
+101
View File
@@ -0,0 +1,101 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getPruefungen(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/getPruefungen/' + uid
};
},
loadPruefung(pruefung_id) {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/loadPruefung/' + pruefung_id
};
},
getTypenPruefungen() {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/getTypenPruefungen'
};
},
getAllLehreinheiten(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/pruefung/getAllLehreinheiten/',
params
};
},
getLvsByStudent(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/getLvsByStudent/' + uid
};
},
getLvsandLesByStudent(uid, semester) {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/getLvsandLesByStudent/' + uid + '/' + semester
};
},
getLvsAndMas(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/getLvsAndMas/' + uid
};
},
getMitarbeiterLv(id) {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/getMitarbeiterLv/' + id
};
},
getNoten() {
return {
method: 'get',
url: 'api/frontend/v1/stv/pruefung/getNoten'
};
},
checkZeugnisnoteLv(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/pruefung/checkZeugnisnoteLv/',
params
};
},
addPruefung(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/pruefung/insertPruefung/',
params
};
},
updatePruefung(id, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/pruefung/updatePruefung/' + id,
params
};
},
deletePruefung(id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/pruefung/deletePruefung/' + id
};
}
};
+75
View File
@@ -0,0 +1,75 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getAnrechnungen(id) {
return {
method: 'get',
url: 'api/frontend/v1/stv/anrechnungen/getAnrechnungen/' + id
};
},
getLehrveranstaltungen(prestudent_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/anrechnungen/getLehrveranstaltungen/' + prestudent_id
};
},
getBegruendungen(){
return {
method: 'get',
url: 'api/frontend/v1/stv/anrechnungen/getBegruendungen/'
};
},
getLvsKompatibel(lv_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/anrechnungen/getLvsKompatibel/' + lv_id
};
},
getLektoren(studiengang_kz){
return {
method: 'get',
url: 'api/frontend/v1/stv/anrechnungen/getLektoren/' + studiengang_kz
};
},
addNewAnrechnung(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/anrechnungen/insertAnrechnung/',
params
};
},
loadAnrechnung(anrechnung_id){
return {
method: 'get',
url: 'api/frontend/v1/stv/anrechnungen/loadAnrechnung/' + anrechnung_id
};
},
editAnrechnung(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/anrechnungen/updateAnrechnung/',
params
};
},
deleteAnrechnung(anrechnung_id){
return {
method: 'post',
url: 'api/frontend/v1/stv/anrechnungen/deleteAnrechnung/' + anrechnung_id
};
},
}
+32
View File
@@ -0,0 +1,32 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getStg() {
return {
method: 'get',
url: 'api/frontend/v1/stv/filter/getStg'
};
},
setStg(studiengang_kz) {
return {
method: 'post',
url: 'api/frontend/v1/stv/filter/setStg',
params: { studiengang_kz }
};
}
};
+109
View File
@@ -0,0 +1,109 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
list() {
return {
method: 'get',
url: 'api/frontend/v1/stv/grades/list'
};
},
getCertificate(prestudent_id, studiensemester_kurzbz) {
let url = 'api/frontend/v1/stv/grades/getCertificate/' + encodeURIComponent(prestudent_id);
if (!!studiensemester_kurzbz) {
url = url + '/' + encodeURIComponent(studiensemester_kurzbz);
}
return {
method: 'get',
url: url
};
},
getTeacherProposal(prestudent_id, studiensemester_kurzbz) {
let url = 'api/frontend/v1/stv/grades/getTeacherProposal/' + encodeURIComponent(prestudent_id);
if (!!studiensemester_kurzbz) {
url = url + '/' + encodeURIComponent(studiensemester_kurzbz);
}
return {
method: 'get',
url: url
};
},
getRepeaterGrades(prestudent_id, studiensemester_kurzbz) {
let url = 'api/frontend/v1/stv/grades/getRepeaterGrades/' + encodeURIComponent(prestudent_id);
if (!!studiensemester_kurzbz) {
url = url + '/' + encodeURIComponent(studiensemester_kurzbz);
}
return {
method: 'get',
url: url
};
},
updateCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, note, lehrveranstaltung_bezeichnung}) {
return {
method: 'post',
url: 'api/frontend/v1/stv/grades/updateCertificate',
params: {
lehrveranstaltung_id,
student_uid,
studiensemester_kurzbz,
note
}
};
},
deleteCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {
return {
method: 'post',
url: 'api/frontend/v1/stv/grades/deleteCertificate',
params: {
lehrveranstaltung_id,
student_uid,
studiensemester_kurzbz
}
};
},
copyTeacherProposalToCertificate({lehrveranstaltung_id, student_uid, studiensemester_kurzbz, lehrveranstaltung_bezeichnung}) {
return {
method: 'post',
url: 'api/frontend/v1/stv/grades/copyTeacherProposalToCertificate',
params: {
lehrveranstaltung_id,
student_uid,
studiensemester_kurzbz
}
};
},
copyRepeaterGradeToCertificate({studierendenantrag_lehrveranstaltung_id, lv_bezeichnung}) {
return {
method: 'post',
url: 'api/frontend/v1/stv/grades/copyRepeaterGradeToCertificate',
params: {
studierendenantrag_lehrveranstaltung_id
}
};
},
getGradeFromPoints(points, lehrveranstaltung_id, studiensemester_kurzbz) {
return {
method: 'post',
url: 'api/frontend/v1/stv/grades/getGradeFromPoints',
params: {
"points": points,
"lehrveranstaltung_id": lehrveranstaltung_id,
"studiensemester_kurzbz": studiensemester_kurzbz
}
};
}
};
+33
View File
@@ -0,0 +1,33 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getGruppen(id) {
return {
method: 'get',
url: 'api/frontend/v1/stv/Gruppen/getGruppen/' + id
};
},
deleteGroup(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/Gruppen/deleteGruppe/',
params
};
}
}
+81
View File
@@ -0,0 +1,81 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getStudies(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/GemeinsameStudien/getStudien/' + uid
};
},
getTypenMobility(){
return {
method: 'get',
url: 'api/frontend/v1/stv/GemeinsameStudien/getTypenMobility/'
};
},
getStudiensemester(){
return {
method: 'get',
url: 'api/frontend/v1/stv/GemeinsameStudien/getStudiensemester/'
};
},
getStudyprograms(){
return {
method: 'get',
url: 'api/frontend/v1/stv/GemeinsameStudien/getStudienprogramme/'
};
},
getListPartner(){
return {
method: 'get',
url: 'api/frontend/v1/stv/GemeinsameStudien/getPartnerfirmen/'
};
},
getStatiPrestudent(){
return {
method: 'get',
url: 'api/frontend/v1/stv/GemeinsameStudien/getStatiPrestudent/'
};
},
loadStudy(id){
return {
method: 'get',
url: 'api/frontend/v1/stv/GemeinsameStudien/loadStudie/' + id
};
},
insertStudy(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/GemeinsameStudien/insertStudie/',
params
};
},
updateStudy(params){
return {
method: 'post',
url: 'api/frontend/v1/stv/GemeinsameStudien/updateStudie/',
params
};
},
deleteStudy(id){
return {
method: 'post',
url: 'api/frontend/v1/stv/GemeinsameStudien/deleteStudie/' + id
};
},
}
+28
View File
@@ -0,0 +1,28 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import address from './kontakt/address.js';
import bankaccount from './kontakt/bankaccount.js';
import contact from './kontakt/contact.js';
import company from './kontakt/company.js';
export default {
address,
bankaccount,
contact,
company
};
@@ -0,0 +1,77 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
get(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getAdressen/' + uid
};
},
add(uid, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/addNewAddress/' + uid,
params
};
},
load(address_id){
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/loadAddress/',
params: { address_id }
};
},
update(address_id, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/updateAddress/' + address_id,
params
};
},
delete(address_id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/deleteAddress/',
params: { address_id }
};
},
getTypes() {
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getAdressentypen/'
};
},
getPlaces(plz) {
return {
method: 'get',
url: 'api/frontend/v1/stv/address/getPlaces/' + plz
};
},
getNations() {
return {
method: 'get',
url: 'api/frontend/v1/stv/address/getNations/'
};
},
getAllFirmen(){
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getAllFirmen/'
}
}
};
@@ -0,0 +1,53 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
get(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getBankverbindung/' + uid
};
},
add(uid, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/addNewBankverbindung/' + uid,
params
};
},
load(bankverbindung_id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/loadBankverbindung/',
params: { bankverbindung_id }
};
},
update(bankverbindung_id, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/updateBankverbindung/' + bankverbindung_id,
params
};
},
delete(bankverbindung_id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/deleteBankverbindung/',
params: { bankverbindung_id }
};
}
};
@@ -0,0 +1,25 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
get(searchString) {
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getFirmen/' + searchString
};
}
};
@@ -0,0 +1,65 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
get(uid) {
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getKontakte/' + uid
};
},
add(uid, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/addNewContact/' + uid,
params
};
},
load(kontakt_id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/loadContact/',
params: { kontakt_id }
};
},
update(kontakt_id, params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/updateContact/' + kontakt_id,
params
};
},
delete(kontakt_id) {
return {
method: 'post',
url: 'api/frontend/v1/stv/kontakt/deleteContact/',
params: { kontakt_id }
};
},
getTypes() {
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getKontakttypen/'
};
},
getStandorteByFirma(searchString) {
return {
method: 'get',
url: 'api/frontend/v1/stv/kontakt/getStandorteByFirma/' + searchString
};
}
};
+74
View File
@@ -0,0 +1,74 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
get(person_id, only_open, studiengang_kz) {
return {
method: 'post',
url: 'api/frontend/v1/stv/konto/get',
params: {
person_id,
only_open,
studiengang_kz
}
};
},
checkDoubles(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/konto/checkDoubles',
params,
config: {
confirmErrorHandler: error => true
}
};
},
insert(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/konto/insert',
params
};
},
counter(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/konto/counter',
params
};
},
edit(params) {
return {
method: 'post',
url: 'api/frontend/v1/stv/konto/update',
params
};
},
delete(buchungsnr) {
return {
method: 'post',
url: 'api/frontend/v1/stv/konto/delete',
params: { buchungsnr }
};
},
getBuchungstypen() {
return {
method: 'get',
url: 'api/frontend/v1/stv/konto/getBuchungstypen'
};
}
};
+55
View File
@@ -0,0 +1,55 @@
/**
* Copyright (C) 2025 fhcomplete.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export default {
getSprachen() {
return {
method: 'get',
url: 'api/frontend/v1/stv/lists/getSprachen'
};
},
getGeschlechter() {
return {
method: 'get',
url: 'api/frontend/v1/stv/lists/getGeschlechter'
};
},
getAusbildungen() {
return {
method: 'get',
url: 'api/frontend/v1/stv/lists/getAusbildungen'
};
},
getStgs() {
return {
method: 'get',
url: 'api/frontend/v1/stv/lists/getStgs'
};
},
getOrgforms() {
return {
method: 'get',
url: 'api/frontend/v1/stv/lists/getOrgforms'
};
},
getStudiensemester() {
return {
method: 'get',
url: 'api/frontend/v1/stv/lists/getStudiensemester'
};
}
};

Some files were not shown because too many files have changed in this diff Show More