Changes for page Home
Last modified by Benjamin Fischer on 2025/06/04 14:20
From version 72.75
edited by Benjamin Fischer
on 2024/11/07 13:40
on 2024/11/07 13:40
Change comment:
There is no comment for this version
To version 72.55
edited by Benjamin Fischer
on 2024/11/07 12:09
on 2024/11/07 12:09
Change comment:
There is no comment for this version
Summary
-
Objects (2 modified, 0 added, 0 removed)
Details
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -26,8 +26,8 @@ 26 26 }, 27 27 _renderFun(events) { 28 28 const cf = this.opt("columnFormat") ?? "MMM"; 29 - const rf = this.opt("rowFormat") ?? " D";30 - const df = this.opt("cellFormat") ?? "dd"; 29 + const rf = this.opt("rowFormat") ?? "dd"; 30 + const df = this.opt("cellFormat") ?? "ddd"; 31 31 const wf = this.opt("weekFormat") ?? "w"; 32 32 const colspan = (df || wf) ? (1 + !!df + !!wf) : null; 33 33 ... ... @@ -35,13 +35,10 @@ 35 35 const ye = this.end; 36 36 const yv = events.slice().sort((a,b) => a.start.diff(b.start) || a.end.diff(b.end)); 37 37 38 - 39 - const cols = []; 40 40 const head = []; 41 41 const days = Array(31).fill().map(_ => []); 42 42 43 43 if (rf) { 44 - cols.push(E("col", {class: "fc-fitCol"})); 45 45 head.push(E("th")); 46 46 days.forEach((arr, day) => arr.push(E("th", {class: "fc-axis"}, ys.clone().add({day}).format(rf)))); 47 47 } ... ... @@ -50,11 +50,8 @@ 50 50 const ms = ys.clone().add({month}) 51 51 const me = ms.clone().add({month: 1}); 52 52 const md = me.diff(ms, "days"); 53 - const mv = yv.filter(t => ms.isBefore(t.end) &&t.start.isBefore(me));50 + const mv = yv.filter(t => ms.isBefore(t.end) || t.start.isBefore(me)); 54 54 55 - if (df) cols.push(E("col", {class: "fc-fitCol fc-fade fc-borderLeft"})); 56 - cols.push(E("col", {class: df ? null : "fc-borderLeft"})); 57 - if (wf) cols.push(E("col", {class: "fc-fitCol fc-fade"})); 58 58 head.push(E("th", {colspan}, ms.format(cf))); 59 59 60 60 const bgc = new Array(md); ... ... @@ -67,27 +67,26 @@ 67 67 const oc = []; 68 68 while(mv[0]?.start.isBefore(de)) { 69 69 const v = mv.shift(); 70 - const d = Math.ceil(v.end.m ax(me).diff(ds, "days", true));71 - if ( v.rendering == "background"){72 - if ( v.color)64 + const d = Math.ceil(v.end.min(me).diff(ds, "days", true)); 65 + if (t.rendering == "background") 66 + if (t.color) 73 73 for (const i of range(d)) 74 - bgc[day + i] = v.color;75 - }else {76 - const e = E("div", v.title);68 + bgc[day + i] = t.color; 69 + else { 70 + const e = E("div", t.title); 77 77 e.style.height = `${100 * d}%`; 78 - if ( v.color) e.style.borderColor = e.style.backgroundColor =v.color;79 - if ( v.textColor) e.style.color =v.textColor;72 + if (t.color) e.style.borderColor = e.style.backgroundColor = t.color; 73 + if (t.textColor) e.style.color = t.textColor; 80 80 oc.push(e); 81 81 // TODO: soft-columns 82 82 } 83 83 } 84 84 85 - const style = bgc[day] && `background-color: ${bgc[day]};`; 86 - const dc = this.getDayClasses(ds); 87 - const ds = sub => ({class: dc.concat(sub).join(" "), style}); 88 - if (df) days[day].push(E("td", ds("fc-dayVal"), ds.format(df))); 89 - days[day].push(E("td", ds("fc-mainVal"), oc)); 90 - if (wf) days[day].push(E("td", ds("fc-weekVal"), ds.weekday() ? "" : ds.format(wf))); 79 + const da = {class: this.getDayClasses(ds).join(" ")}; 80 + if (df) days[day].push(E("td", da, ds.format(df))); 81 + if (bgc[day]) da.style = `background-color: ${bgc[day]};`; 82 + days[day].push(E("td", da, oc)); 83 + if (wf) days[day].push(E("td", ds.weekday() ? "" : ds.format(wf))); 91 91 } else 92 92 days[day].push(E("td", {colspan})); 93 93 } ... ... @@ -97,7 +97,6 @@ 97 97 this.el.addClass("fc-month-cols-view").html( 98 98 E( 99 99 "table", 100 - E("colgroup", cols), 101 101 E("thead", {class: "fc-head"}, E("tr", head)), 102 102 E("tbody", {class: "fc-body"}, days.map(d => E("tr", d))), 103 103 ) ... ... @@ -117,7 +117,6 @@ 117 117 }, 118 118 monthCols: { 119 119 columnFormat: "MMM", 120 - weekFormat: "W", 121 121 titleFormat: "YYYY", 122 122 buttonText: "year", 123 123 },
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -1,32 +1,5 @@ 1 -#calendarCustom .fc{1 +#calendarCustom { 2 2 td.fc-sat, td.fc-sun { 3 3 background-color: #f5f5f5; 4 4 } 5 - .fc-month-cols-view > table { 6 - table-layout: auto; 7 - td, th { 8 - border-width: 0px; 9 - } 10 - col.fc-fitCol { 11 - width: 1px; 12 - } 13 - col.fc-borderLeft { 14 - border-left-width: 1px; 15 - } 16 - .fc-body { 17 - td { 18 - position: relative; 19 - & > div { 20 - position: absolute; 21 - width: 100%; 22 - } 23 - } 24 - td.fc-weekVal { 25 - text-align: right; 26 - } 27 - .fc-fade { 28 - opacity: 0.3; 29 - } 30 - } 31 - } 32 32 }