Changes for page Home
Last modified by Benjamin Fischer on 2025/06/04 14:20
From version 73.13
edited by Benjamin Fischer
on 2024/11/07 17:19
on 2024/11/07 17:19
Change comment:
There is no comment for this version
To version 73.22
edited by Benjamin Fischer
on 2024/11/08 14:13
on 2024/11/08 14:13
Change comment:
There is no comment for this version
Summary
-
Objects (2 modified, 0 added, 0 removed)
Details
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -45,12 +45,20 @@ 45 45 const md = me.diff(ms, "days"); 46 46 const mv = yv.filter(t => ms.isBefore(t.end) && t.start.isBefore(me)); 47 47 48 - if (df) cols.push(E("col", {class: "fc-fitCol fc-fade fc-borderLeft"}));49 - cols.push(E("col" , {class: df ? null : "fc-borderLeft"}));50 - if (wf) cols.push(E("col", {class: "fc-fitCol fc-fade"}));48 + if (df) cols.push(E("col", {class: "fc-fitCol"})); 49 + cols.push(E("col")); 50 + if (wf) cols.push(E("col", {class: "fc-fitCol"})); 51 51 head.push(E("th", {colspan}, ms.format(cf))); 52 52 53 53 const bgc = new Array(md); 54 + const bgt = new Array(md); 55 + let scc = []; 56 + let scu = []; 57 + const scs = col => el => { 58 + const step = 100 / scc.length; 59 + el.style.left = `${col * step}%`; 60 + el.style.width = `${step}%`; 61 + }; 54 54 55 55 for (const day of range(31)) { 56 56 if (day < md) { ... ... @@ -63,8 +63,10 @@ 63 63 const d = Math.ceil(v.end.max(me).diff(ds, "days", true)); 64 64 if (v.rendering == "background") { 65 65 if (v.color) 66 - for (const i of range(d)) 74 + for (const i of range(d)) { 67 67 bgc[day + i] = v.color; 76 + bgt[day + i] = v.title; 77 + } 68 68 } else { 69 69 const href = v.html.match(/<span class="wikiexternallink"><a href="([^"]+)">\1</)?.[1] ?? v.url; 70 70 const e = E("div", E("a", {href}, v.title)); ... ... @@ -74,14 +74,26 @@ 74 74 if (v.start.isBefore(ms)) e.classList.add("fc-cut-start"); 75 75 if (me.isBefore(v.end)) e.classList.add("fc-cut-end"); 76 76 oc.push(e); 77 - // TODO: soft-columns 87 + const i = scu.indexOf(0); 88 + if (i < 0) { 89 + scc.push([e]); 90 + scu.push(d); 91 + scc.forEach((els, col) => els.forEach(scs(col))); 92 + } else { 93 + scc[i].push(e); 94 + scu[i] = d; 95 + scs(i)(e); 96 + } 78 78 } 79 79 } 80 80 100 + scu = scu.map(u => Math.max(0, u - 1)); 101 + if (!scu.some()) {scc = []; scu = [];} 102 + 81 81 const style = bgc[day] && `background-color: ${bgc[day]};`; 82 82 const dc = this.getDayClasses(ds); 83 - const da = sub => ({class: dc.concat(sub).join(" "), style}); 84 - if (df) days[day].push(E("td", da("fc-dayVal"), ds.format(df))); 105 + const da = (sub, title = bgt[day] ?? null) => ({class: dc.concat(sub).join(" "), style, title}); 106 + if (df) days[day].push(E("td", da("fc-dayVal", ds.format("D")), ds.format(df))); 85 85 days[day].push(E("td", da("fc-mainVal"), oc)); 86 86 if (wf) days[day].push(E("td", da("fc-weekVal"), ds.weekday() ? "" : ds.format(wf))); 87 87 } else ... ... @@ -134,7 +134,6 @@ 134 134 firstDay: "1", 135 135 minTime: "8:00", 136 136 maxTime: "23:00", 137 - defaultDate: "2024-11-06", 138 138 editable: false, 139 139 eventDataTransform: event => { 140 140 if (event.url.split("/")[4] === "Holidays") event.rendering = "background";
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -13,7 +13,6 @@ 13 13 } 14 14 tbody.fc-body { 15 15 td { 16 - background-color: #fff; 17 17 &.fc-sat, &.fc-sun { 18 18 background-color: @weekend-color; 19 19 &.fc-dayVal { ... ... @@ -28,7 +28,7 @@ 28 28 border-top: 1px solid #bbb; 29 29 } 30 30 tr:hover > th { 31 - filter:brightness(0.8);30 + background-color: #ccc; 32 32 } 33 33 td.fc-mainVal { 34 34 position: relative; ... ... @@ -47,7 +47,7 @@ 47 47 border-bottom-right-radius: 0px; 48 48 } 49 49 &:hover { 50 - width: auto; 49 + width: auto !important; 51 51 max-width: 10vw; 52 52 height: auto !important; 53 53 z-index: 10; ... ... @@ -60,9 +60,14 @@ 60 60 } 61 61 } 62 62 td.fc-dayVal, td.fc-weekVal { 63 - color: desaturate(lighten(#1D3B58, 50%), 80%); 62 + color: #7f95aa; 63 + cursor: default; 64 64 } 65 + td.fc-dayVal { 66 + font-size: small; 67 + } 65 65 td.fc-weekVal { 69 + font-size: smaller; 66 66 text-align: right; 67 67 } 68 68 }