- | Studiengänge
- |
+ | Studiengänge
+ |
- | Abschluss
- | Studiengang
- | Studienart
- | Semester
+ | Abschluss
+ | Studiengang
+ | Studienart
+ | Semester
$forall (degree,field,fieldtype,semester) <- studies
|
- #{display degree}
- | #{display field}
- | #{display fieldtype}
- | #{display semester}
+ | #{display degree}
+ | #{display field}
+ | #{display fieldtype}
+ | #{display semester}
$if not $ null participant
|
- Teilnehmer
- |
+ | Teilnehmer
+ |
$forall (E.Value csh, E.Value tid, regSince) <- participant
-
diff --git a/templates/profile.julius b/templates/profile.julius
new file mode 100644
index 000000000..9883c9957
--- /dev/null
+++ b/templates/profile.julius
@@ -0,0 +1,17 @@
+document.addEventListener('DOMContentLoaded', function () {
+
+ var themeSelector = document.querySelector('[placeholder="theme-select"]');
+ themeSelector.addEventListener('change', function() {
+ // get rid of old themes on body
+ var options = Array.from(themeSelector.options)
+ .forEach(function (option) {
+ document.body.classList.remove(optionToTheme(option));
+ });
+ // add newly selected theme
+ document.body.classList.add(optionToTheme(themeSelector.options[themeSelector.value - 1]));
+ });
+
+ function optionToTheme(option) {
+ return optionValue = 'theme--' + option.innerText.toLowerCase().trim().replace(/\s/g, '-');
+ }
+});
diff --git a/templates/standalone/alerts.julius b/templates/standalone/alerts.julius
index ebf1f744d..00ac0156b 100644
--- a/templates/standalone/alerts.julius
+++ b/templates/standalone/alerts.julius
@@ -11,6 +11,13 @@
alertEl.classList.add('alert--invisible');
});
alertEl.insertBefore(closeEl, alertEl.children[0]);
+
+ // auto-hide info and success-alerts after 3 seconds
+ if (!alertEl.matches('.alert-danger, .alert-warning')) {
+ window.setTimeout(function() {
+ alertEl.classList.add('alert--invisible');
+ }, 3000);
+ }
}
})();
diff --git a/templates/standalone/alerts.lucius b/templates/standalone/alerts.lucius
index fa9512abd..4d080cc8d 100644
--- a/templates/standalone/alerts.lucius
+++ b/templates/standalone/alerts.lucius
@@ -8,6 +8,15 @@
display: flex;
flex-direction: column;
}
+
+@media (min-width: 768px) {
+
+ .alerts {
+ top: 150px;
+ bottom: auto;
+ }
+}
+
.alert {
position: relative;
display: inline-block;
@@ -23,6 +32,7 @@
margin-left: 20px;
margin-right: 60px;
box-shadow: 0 0 7px var(--color-dark);
+ animation: slide-in-alert .2s ease-out forwards;
+ .alert:not(.alert--invisible) {
margin-top: 20px;
@@ -39,6 +49,15 @@
}
}
+@keyframes slide-in-alert {
+ from {
+ left: 120%;
+ }
+ to {
+ left: 0;
+ }
+}
+
@media (min-width: 425px) {
.alert {
@@ -91,6 +110,7 @@
align-items: center;
font-size: 40px;
color: var(--color-dark);
+ box-shadow: 0 0 2px var(--color-dark);
}
}
@@ -146,6 +166,7 @@
&::after {
content: '\f05a';
color: var(--color-success);
+ box-shadow: 0 0 2px var(--color-success);
}
}
}
@@ -173,6 +194,7 @@
&::after {
content: '\f071';
color: var(--color-warning);
+ box-shadow: 0 0 2px var(--color-warning);
}
}
}
@@ -189,7 +211,7 @@
/* TODO: remove me as soon as messagerenderer-error in julius gets resolved */
&::before {
color: var(--color-lightwhite);
- }
+ }
}
.alert__content {
@@ -201,6 +223,7 @@
&::after {
content: '\f071';
color: var(--color-error);
+ box-shadow: 0 0 2px var(--color-error);
}
}
}
diff --git a/templates/table/cell/body.hamlet b/templates/table/cell/body.hamlet
new file mode 100644
index 000000000..f2892c2a2
--- /dev/null
+++ b/templates/table/cell/body.hamlet
@@ -0,0 +1,3 @@
+
+
+ ^{widget}
diff --git a/templates/table/cell/header.hamlet b/templates/table/cell/header.hamlet
new file mode 100644
index 000000000..66ac4087e
--- /dev/null
+++ b/templates/table/cell/header.hamlet
@@ -0,0 +1,11 @@
+
+ $maybe flag <- sortableKey
+ $case directions
+ $of [SortAsc]
+ "-desc")}>
+ ^{widget}
+ $of _
+ "-asc")}>
+ ^{widget}
+ $nothing
+ ^{widget}
diff --git a/templates/table/cell/link.hamlet b/templates/table/cell/link.hamlet
new file mode 100644
index 000000000..21ce1108a
--- /dev/null
+++ b/templates/table/cell/link.hamlet
@@ -0,0 +1,2 @@
+
+ ^{widget}
diff --git a/templates/table/colonnade.hamlet b/templates/table/colonnade.hamlet
index 5b3b87301..147cdebc7 100644
--- a/templates/table/colonnade.hamlet
+++ b/templates/table/colonnade.hamlet
@@ -1,18 +1,20 @@
$newline never
- $maybe sortableP <- pSortable
- $with toSortable <- toSortable sortableP
-
-
- $forall OneColonnade{..} <- getColonnade dbtColonnade
-
-
- ^{widgetFromCell th $ withSortLinks $ toSortable oneColonnadeHead}
+ $maybe wHeaders' <- wHeaders
+
+
+ $forall widget <- wHeaders'
+ $# cell/header.hamlet
+ ^{widget}
$nothing
- $forall row <- rows
-
- $forall OneColonnade{..} <- getColonnade dbtColonnade
-
-
- ^{widgetFromCell td $ oneColonnadeEncode row}
+ $if null wRows
+
+ |
+ Kein Inhalt.
+ $else
+ $forall row <- wRows
+ |
+ $forall widget <- row
+ $# cell/body.hamlet
+ ^{widget}
diff --git a/templates/table/colonnade.lucius b/templates/table/colonnade.lucius
index 158877b7f..918770d3e 100644
--- a/templates/table/colonnade.lucius
+++ b/templates/table/colonnade.lucius
@@ -1,44 +1,40 @@
-/* SORTABLE TABLE */
-.table {
-
- /* TODO: move outside of table as soon as tds and ths get their own class */
- th.sortable {
- position: relative;
- padding-right: 24px;
- cursor: pointer;
- }
-
- th.sortable::after,
- th.sortable::before {
- content: '';
- position: absolute;
- top: 50%;
- right: 4px;
- width: 0;
- height: 0;
- border-left: 8px solid transparent;
- border-right: 8px solid transparent;
- border-bottom: 8px solid rgba(255, 255, 255, 0.4);
- }
-
- th.sortable::before {
- /* magic numbers to move arrow back in the right position after flipping it.
- this allows us to use the same border for the up and the down arrow */
- transform: translateY(150%) scale(1, -1);
- transform-origin: top;
- }
-
- th.sortable::after {
- transform: translateY(-150%);
- }
-
- th.sortable:hover::before,
- th.sortable:hover::after {
- border-bottom-color: rgba(255, 255, 255, 0.7);
- }
-
- th.sorted-asc::before,
- th.sorted-desc::after {
- border-bottom-color: white !important;
- }
+/* SORTABLE TABLE-HEADERS*/
+.table__th.sortable {
+ position: relative;
+ padding-right: 24px;
+ cursor: pointer;
+}
+
+.table__th.sortable::after,
+.table__th.sortable::before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ right: 4px;
+ width: 0;
+ height: 0;
+ border-left: 8px solid transparent;
+ border-right: 8px solid transparent;
+ border-bottom: 8px solid rgba(255, 255, 255, 0.4);
+}
+
+.table__th.sortable::before {
+ /* magic numbers to move arrow back in the right position after flipping it.
+ this allows us to use the same border for the up and the down arrow */
+ transform: translateY(150%) scale(1, -1);
+ transform-origin: top;
+}
+
+.table__th.sortable::after {
+ transform: translateY(-150%);
+}
+
+.table__th.sortable:hover::before,
+.table__th.sortable:hover::after {
+ border-bottom-color: rgba(255, 255, 255, 0.7);
+}
+
+.table__th.sorted-asc::before,
+.table__th.sorted-desc::after {
+ border-bottom-color: white !important;
}
diff --git a/templates/widgets/asidenav.lucius b/templates/widgets/asidenav.lucius
index 789752f71..8cad43d54 100644
--- a/templates/widgets/asidenav.lucius
+++ b/templates/widgets/asidenav.lucius
@@ -48,9 +48,15 @@
justify-content: flex-start;
align-items: center;
+ &:not(.asidenav__list-item--active):hover {
+ background-color: var(--color-darker);
+
+ > .asidenav__link-wrapper {
+ color: var(--color-lightwhite);
+ }
+ }
+
&:hover {
- color: var(--color-link);
- background-color: var(--color-lightwhite);
.asidenav__link-shorthand {
transform: scale(1.05, 1.0);
@@ -58,10 +64,6 @@
text-shadow: none;
}
- > .asidenav__link-wrapper {
- color: var(--color-link);
- }
-
.asidenav__nested-list {
transform: translateX(100%);
opacity: 1;
@@ -109,7 +111,6 @@
width: 50px;
}
-
.glyphicon + .asidenav__link-label {
padding-left: 0;
}
@@ -143,15 +144,10 @@
background-color: var(--color-dark);
&:hover {
- color: var(--color-link);
- background-color: var(--color-lightwhite);
-
- .asidenav__link-wrapper {
- background-color: white;
- color: var(--color-link);
- }
+ background-color: var(--color-darker);
}
- .asidenav__link-wrapper {
+
+ .asidenav__link-wrapper {
padding-left: 13px;
padding-right: 13px;
border-left: 20px solid white;
diff --git a/templates/widgets/form.hamlet b/templates/widgets/form.hamlet
index b38d37ed6..c59a21d32 100644
--- a/templates/widgets/form.hamlet
+++ b/templates/widgets/form.hamlet
@@ -7,5 +7,4 @@ $case formLayout
$if not (Blaze.null $ fvLabel view)
| | | |