Changes for page Home
Last modified by Benjamin Fischer on 2025/06/04 14:20
From version 72.28
edited by Benjamin Fischer
on 2024/11/06 13:22
on 2024/11/06 13:22
Change comment:
There is no comment for this version
To version 72.37
edited by Benjamin Fischer
on 2024/11/06 15:07
on 2024/11/06 15:07
Change comment:
There is no comment for this version
Summary
-
Objects (1 modified, 0 added, 0 removed)
Details
- XWiki.JavaScriptExtension[0]
-
- Code
-
... ... @@ -1,13 +1,35 @@ 1 1 require(["jquery", "fullcalendar"], function (jq) { 2 2 const FC = jq.fullCalendar; 3 + const E = (tag, ...childs) => { 4 + const attrs = childs[0]?.constructor === Object ? childs.shift() : {}; 5 + const ret = Element(tag, attrs); 6 + ret.append(...childs.flat()); 7 + return ret; 8 + }; 3 3 FC.defineView('monthCols', { 4 4 class: FC.View.extend({ 5 - initialize() { 6 - console.log("foo bar"); 7 - }, 8 - renderSekeleton() { 9 - this.el.addClass("fc-month-cols-view").html(""); 11 + render() { 10 10 debugger; 13 + const chf = this.opt("columnFormat") ?? "MMM"; 14 + const start = this.start ?? FC.moment({year: FC.moment().year()}); 15 + const months = Array(12).fill().map((_, month) => start.clone().add({month})); 16 + 17 + this.el.addClass("fc-month-cols-view").html( 18 + E( 19 + "table", 20 + E("thead", {class: "fc-head"}, 21 + E("tr", months.map(m => E("td", m.format(chf))))), 22 + E("tbody", {class: "fc-body"}, 23 + Array(31).fill().map((_, day) => E("tr", 24 + months.map(m => m.clone().add({day})).map((d, i) => 25 + d.day() === i + 1 26 + ? E("td", {class: this.getDayClasses(d).join(" ")}, [d.format("ddd")]) 27 + : E("td") 28 + ))) 29 + ), 30 + ) 31 + ); 32 + 11 11 }, 12 12 }), 13 13 duration: { year: 1 },