Änderungen von Dokument Art & Research Services Navigator

Zuletzt geändert von Veronika Kocher am Freitag, 18 Sep. 2026 16:47

Von Version 4.1
bearbeitet von Veronika Kocher
am Mittwoch, 02 Sep. 2026 17:30
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 9.2
bearbeitet von Veronika Kocher
am Donnerstag, 03 Sep. 2026 9:18
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -2,11 +2,12 @@
2 2  
3 3  Der **Service-Navigator Kunst & Forschung** hilft dir, für jede Phase deines Projekts die passende Orientierung, Services und Ressourcen zu finden.
4 4  
5 -{{info title="Unterstützung für dein Projekt"}}
5 +{{info title="Unterstützung für dein Projekt:"}}
6 6  
7 -**Support Kunst und Forschung (SKF)** begleitet Projekt- und Fördervorhaben und arbeitet je nach Bedarf mit den passenden Services der Universität zusammen.
7 +
8 + **Support Kunst und Forschung (SKF)** begleitet Projekt- und Fördervorhaben und arbeitet je nach Bedarf mit den passenden Services der Universität zusammen.
8 8  
9 - Der Navigator führt dich entlang der Projektphasen zu den Angeboten und Ansprechstellen, die für dein Vorhaben relevant sind.
10 + Der Navigator führt dich entlang der Projektphasen zu den Angeboten und Ansprechstellen, die für dein Vorhaben relevant sind.
10 10  {{/info}}
11 11  
12 12  {{html clean="false"}}
... ... @@ -634,3 +634,237 @@
634 634  {{/info}}
635 635  )))
636 636  
638 +{{html clean="false"}}
639 +<!-- SN_HORIZONTAL_BOX_HARMONIZER_START -->
640 +<style data-sn-horizontal-box-harmonizer="1">
641 +[data-sn-equal-height-managed="1"]{box-sizing:border-box}
642 +@media(max-width:767px){
643 + [data-sn-equal-height-managed="1"]{min-height:0!important}
644 +}
645 +</style>
646 +<script data-sn-horizontal-box-harmonizer="1">
647 +(function(){
648 + "use strict";
649 +
650 + var MOBILE_MAX=767;
651 + var ROW_TOLERANCE=4;
652 + var MIN_W=150;
653 + var MIN_H=36;
654 +
655 + var root=
656 + document.getElementById("xwikicontent")||
657 + document.querySelector(".xwiki-rendering-content")||
658 + document.querySelector("main")||
659 + document.body;
660 +
661 + if(!root)return;
662 +
663 + var managed=new Set();
664 + var raf=0;
665 +
666 + function num(v){
667 + var n=parseFloat(v);
668 + return Number.isFinite(n)?n:0;
669 + }
670 +
671 + function visible(el){
672 + if(!el||el.nodeType!==1)return false;
673 + var s=getComputedStyle(el);
674 + if(s.display==="none"||s.visibility==="hidden"||Number(s.opacity)===0)return false;
675 + var r=el.getBoundingClientRect();
676 + return r.width>=MIN_W&&r.height>=MIN_H;
677 + }
678 +
679 + function excluded(el){
680 + return !el.matches||el.matches(
681 + "button,input,select,textarea,option,label,img,svg,canvas,table,thead,tbody,tfoot,tr,td,th,summary,script,style,noscript,template,.btn,.chip,[role=button]"
682 + );
683 + }
684 +
685 + function namedLikeBox(el){
686 + var c=typeof el.className==="string"?el.className:"";
687 + return /(^|[\s_-])(box|card|tile|panel|role|check|service|source|call|area|detail|resource|topic|warn|info)([\s_-]|$)/i.test(c);
688 + }
689 +
690 + function boxLike(el){
691 + if(!visible(el)||excluded(el))return false;
692 + var s=getComputedStyle(el);
693 + var r=el.getBoundingClientRect();
694 + var border=
695 + num(s.borderTopWidth)+num(s.borderRightWidth)+
696 + num(s.borderBottomWidth)+num(s.borderLeftWidth);
697 + var radius=Math.max(
698 + num(s.borderTopLeftRadius),num(s.borderTopRightRadius),
699 + num(s.borderBottomLeftRadius),num(s.borderBottomRightRadius)
700 + );
701 + var bg=s.backgroundColor&&s.backgroundColor!=="rgba(0, 0, 0, 0)"&&s.backgroundColor!=="transparent";
702 + var shadow=s.boxShadow&&s.boxShadow!=="none";
703 + return namedLikeBox(el)||border>=1||(bg&&radius>=3)||(shadow&&r.width>=180);
704 + }
705 +
706 + function pickTarget(child){
707 + if(!visible(child))return null;
708 + if(boxLike(child))return child;
709 +
710 + var cr=child.getBoundingClientRect();
711 + var q=[];
712 + Array.from(child.children||[]).forEach(function(el){
713 + q.push({el:el,depth:1});
714 + });
715 +
716 + var best=null,bestScore=-1;
717 +
718 + while(q.length){
719 + var item=q.shift();
720 + var el=item.el;
721 + if(!visible(el))continue;
722 +
723 + var r=el.getBoundingClientRect();
724 +
725 + if(r.width>=cr.width*.72&&boxLike(el)){
726 + var widthFit=1-Math.min(1,Math.abs(cr.width-r.width)/Math.max(1,cr.width));
727 + var topFit=1-Math.min(1,Math.abs(cr.top-r.top)/80);
728 + var score=widthFit*5+topFit*2+Math.min(r.height,600)/600;
729 + if(score>bestScore){
730 + best=el;
731 + bestScore=score;
732 + }
733 + }
734 +
735 + if(item.depth<3){
736 + Array.from(el.children||[]).forEach(function(next){
737 + q.push({el:next,depth:item.depth+1});
738 + });
739 + }
740 + }
741 +
742 + return best;
743 + }
744 +
745 + function reset(){
746 + managed.forEach(function(el){
747 + el.style.removeProperty("min-height");
748 + el.removeAttribute("data-sn-equal-height-managed");
749 + });
750 + managed.clear();
751 + }
752 +
753 + function horizontalLayout(parent){
754 + if(!visible(parent))return false;
755 + var s=getComputedStyle(parent);
756 + if(s.display==="grid"||s.display==="inline-grid")return true;
757 + if(s.display==="flex"||s.display==="inline-flex"){
758 + return s.flexDirection==="row"||s.flexDirection==="row-reverse";
759 + }
760 + return false;
761 + }
762 +
763 + function rowGroups(entries){
764 + var groups=[];
765 + entries.slice().sort(function(a,b){
766 + return a.rect.top-b.rect.top||a.rect.left-b.rect.left;
767 + }).forEach(function(entry){
768 + var group=null;
769 + for(var i=0;i<groups.length;i++){
770 + if(Math.abs(groups[i].top-entry.rect.top)<=ROW_TOLERANCE){
771 + group=groups[i];
772 + break;
773 + }
774 + }
775 + if(!group){
776 + group={top:entry.rect.top,entries:[]};
777 + groups.push(group);
778 + }
779 + group.entries.push(entry);
780 + });
781 + return groups;
782 + }
783 +
784 + function run(){
785 + reset();
786 +
787 + if(window.innerWidth<=MOBILE_MAX)return;
788 +
789 + var parents=Array.from(root.querySelectorAll("*")).filter(function(el){
790 + return el.children&&el.children.length>=2&&horizontalLayout(el);
791 + });
792 +
793 + parents.forEach(function(parent){
794 + var entries=[];
795 +
796 + Array.from(parent.children).forEach(function(child){
797 + if(!visible(child))return;
798 + var target=pickTarget(child);
799 + if(!target)return;
800 + entries.push({
801 + target:target,
802 + rect:target.getBoundingClientRect()
803 + });
804 + });
805 +
806 + if(entries.length<2)return;
807 +
808 + rowGroups(entries).forEach(function(group){
809 + if(group.entries.length<2)return;
810 +
811 + var lefts=group.entries.map(function(e){return e.rect.left;}).sort(function(a,b){return a-b;});
812 + if(lefts[lefts.length-1]-lefts[0]<80)return;
813 +
814 + var targets=[];
815 + var seen=new Set();
816 +
817 + group.entries.forEach(function(e){
818 + if(!seen.has(e.target)){
819 + seen.add(e.target);
820 + targets.push(e.target);
821 + }
822 + });
823 +
824 + if(targets.length<2)return;
825 +
826 + var max=0;
827 + targets.forEach(function(el){
828 + max=Math.max(max,el.getBoundingClientRect().height);
829 + });
830 +
831 + max=Math.ceil(max);
832 + if(max<MIN_H)return;
833 +
834 + targets.forEach(function(el){
835 + el.style.setProperty("min-height",max+"px");
836 + el.setAttribute("data-sn-equal-height-managed","1");
837 + managed.add(el);
838 + });
839 + });
840 + });
841 + }
842 +
843 + function schedule(){
844 + if(raf)cancelAnimationFrame(raf);
845 + raf=requestAnimationFrame(function(){
846 + raf=requestAnimationFrame(function(){
847 + raf=0;
848 + run();
849 + });
850 + });
851 + }
852 +
853 + addEventListener("resize",schedule,{passive:true});
854 + addEventListener("load",schedule,{once:true});
855 +
856 + root.addEventListener("click",function(){
857 + setTimeout(schedule,0);
858 + },true);
859 +
860 + if(document.fonts&&document.fonts.ready){
861 + document.fonts.ready.then(schedule);
862 + }
863 +
864 + schedule();
865 + setTimeout(schedule,250);
866 + setTimeout(schedule,900);
867 +})();
868 +</script>
869 +<!-- SN_HORIZONTAL_BOX_HARMONIZER_END -->
870 +{{/html}}
871 +