Changes for page Home
Last modified by Benjamin Fischer on 2025/06/04 14:20
From version 72.52
edited by Benjamin Fischer
on 2024/11/07 12:03
on 2024/11/07 12:03
Change comment:
There is no comment for this version
To version 72.60
edited by Benjamin Fischer
on 2024/11/07 12:52
on 2024/11/07 12:52
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") ?? " dd";30 - const df = this.opt("cellFormat") ?? "dd d";29 + const rf = this.opt("rowFormat") ?? "D"; 30 + const df = this.opt("cellFormat") ?? "dd"; 31 31 const wf = this.opt("weekFormat") ?? "w"; 32 32 const colspan = (df || wf) ? (1 + !!df + !!wf) : null; 33 33 ... ... @@ -35,25 +35,31 @@ 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 = []; 38 38 const head = []; 39 39 const days = Array(31).fill().map(_ => []); 40 40 41 41 if (rf) { 44 + cols.push(E("col", {class: "fc-fitCol"})); 42 42 head.push(E("th")); 43 43 days.forEach((arr, day) => arr.push(E("th", {class: "fc-axis"}, ys.clone().add({day}).format(rf)))); 44 44 } 45 45 46 - for (const month inArray(12).fill()){49 + for (const month of range(12)) { 47 47 const ms = ys.clone().add({month}) 48 48 const me = ms.clone().add({month: 1}); 49 49 const md = me.diff(ms, "days"); 50 - const mv = yv.filter(t => ms.isBefore(t.end) ||t.start.isBefore(me));53 + const mv = yv.filter(t => ms.isBefore(t.end) && t.start.isBefore(me)); 51 51 55 + if (df) cols.push(E("col", {class: "fc-fitCol fc-fade fc-dayVal"})); 56 + cols.push(E("col")); 57 + if (wf) cols.push(E("col", {class: "fc-fitCol fc-fade fc-weekVal"})); 52 52 head.push(E("th", {colspan}, ms.format(cf))); 53 53 54 54 const bgc = new Array(md); 55 55 56 - for ( let day=0; day <31; day++) {62 + for (const day of range(31)) { 57 57 if (day < md) { 58 58 const ds = ms.clone().add({day}); 59 59 const de = ds.clone().add({day: 1}); ... ... @@ -61,26 +61,26 @@ 61 61 const oc = []; 62 62 while(mv[0]?.start.isBefore(de)) { 63 63 const v = mv.shift(); 64 - const d = Math.ceil(v.end.m in(me).diff(ds, "days", true));65 - if ( t.rendering == "background")66 - if ( t.color)67 - for ( let i=0;i<d;i++)68 - bgc[day + i] = t.color;69 - else { 70 - const e = E("div", t.title);70 + const d = Math.ceil(v.end.max(me).diff(ds, "days", true)); 71 + if (v.rendering == "background") { 72 + if (v.color) 73 + for (const i of range(d)) 74 + bgc[day + i] = v.color; 75 + } else { 76 + const e = E("div", v.title); 71 71 e.style.height = `${100 * d}%`; 72 - if ( t.color) e.style.borderColor = e.style.backgroundColor =t.color;73 - if ( t.textColor) e.style.color =t.textColor;78 + if (v.color) e.style.borderColor = e.style.backgroundColor = v.color; 79 + if (v.textColor) e.style.color = v.textColor; 74 74 oc.push(e); 75 75 // TODO: soft-columns 76 76 } 77 77 } 78 78 79 - const da = {class: this.getDayClasses(d).join(" ")}; 85 + const da = {class: this.getDayClasses(ds).join(" ")}; 80 80 if (df) days[day].push(E("td", da, ds.format(df))); 81 81 if (bgc[day]) da.style = `background-color: ${bgc[day]};`; 82 82 days[day].push(E("td", da, oc)); 83 - if (wf) days[day]. oush(E("td", ds.weekday() ? "" : ds.format(wf)));89 + if (wf) days[day].push(E("td", da, ds.weekday() ? "" : ds.format(wf))); 84 84 } else 85 85 days[day].push(E("td", {colspan})); 86 86 } ... ... @@ -90,6 +90,7 @@ 90 90 this.el.addClass("fc-month-cols-view").html( 91 91 E( 92 92 "table", 99 + E("colgroup", cols), 93 93 E("thead", {class: "fc-head"}, E("tr", head)), 94 94 E("tbody", {class: "fc-body"}, days.map(d => E("tr", d))), 95 95 ) ... ... @@ -109,6 +109,7 @@ 109 109 }, 110 110 monthCols: { 111 111 columnFormat: "MMM", 119 + weekFormat: "W", 112 112 titleFormat: "YYYY", 113 113 buttonText: "year", 114 114 },
- XWiki.StyleSheetExtension[0]
-
- Code
-
... ... @@ -2,4 +2,11 @@ 2 2 td.fc-sat, td.fc-sun { 3 3 background-color: #f5f5f5; 4 4 } 5 + .fc_body td { 6 + position: relative; 7 + > div { 8 + position: absolute; 9 + 10 + } 11 + } 5 5 }