]> gitweb.hhaalo.de Git - calender.git/commitdiff
add: calender corner method
authorBastian Dehn <hhaalo@arcor.de>
Sat, 18 Dec 2021 10:08:10 +0000 (11:08 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 18 Dec 2021 10:08:10 +0000 (11:08 +0100)
cal.js
stripcalender.mjs

diff --git a/cal.js b/cal.js
index 5b8a34aad483ea3a3be7401d61aef371e4d759fa..fdbdcea5b430a874198dfe2f971b9dafcb22fcde 100644 (file)
--- a/cal.js
+++ b/cal.js
@@ -6,7 +6,7 @@ function calender()
        let table = document.createElement("table");
        let calender = new StripCalender((new Date()).getYear());
 
-       table.appendChild(calender.createMonthHeader());
+       table.appendChild(calender.createMonthHeader(3, 1));
        table.appendChild(calender.createMonthDaysHeader());
        table.appendChild(calender.createMonthWeekdayHeader());
 
index 7dee53e1a925d87fe878b9ba6cdd1545af91c809..0bd94daec2e59b4382aabacf6ec6cdd6908e8c6c 100644 (file)
@@ -5,7 +5,7 @@ export class StripCalender
                this._date = new Date(year);
        }
 
-       createMonthHeader()
+       createMonthHeader(cornerSpanRow = 0, cornerSpanCol = 0)
        {
                let tr = document.createElement("tr");
                tr.classList.add("row");
@@ -16,6 +16,11 @@ export class StripCalender
                        "Mai", "Juni", "Juli", "August", "September", "Oktober",
                        "November", "Dezember" ];
 
+               if (cornerSpanRow > 0 && cornerSpanCol > 0) {
+                       th = this.createCorner(cornerSpanRow, cornerSpanCol);
+                       tr.appendChild(th);
+               }
+
                for (let i = 1; i <= 12; i++) {
                        this._date.setMonth(i, 0);
                        th = document.createElement("th");
@@ -29,6 +34,21 @@ export class StripCalender
                return tr;
        }
 
+       createCorner(cornerSpanRow, cornerSpanCol)
+       {
+               let th = document.createElement("th");
+
+               let attr = document.createAttribute("rowspan");
+               attr.value = cornerSpanRow;
+               th.setAttributeNode(attr);
+
+               attr = document.createAttribute("colspan");
+               attr.value = cornerSpanCol;
+               th.setAttributeNode(attr);
+
+               return th;
+       }
+
        createMonthDaysHeader()
        {
                let tr = document.createElement("tr");