MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / _renderMonthGrid

Method _renderMonthGrid

codebase/sources/dhtmlxscheduler.js:9196–9230  ·  view source on GitHub ↗
(container)

Source from the content-addressed store, hash-verified

9194 container.appendChild(dayGridContainer);
9195 }
9196 _renderMonthGrid(container) {
9197 const { date } = this.getState();
9198 const wrapper = document.createElement("div");
9199 wrapper.classList.add("dhx_cal_datepicker_months");
9200 const months = [];
9201 for (let i = 0; i < 12; i++) {
9202 months.push(new Date(date.getFullYear(), i, 1));
9203 }
9204 const formatLabel = this.scheduler.date.date_to_str("%M");
9205 months.forEach((month) => {
9206 const monthElement = document.createElement("div");
9207 monthElement.classList.add("dhx_cal_datepicker_month");
9208 if (date.getMonth() === month.getMonth()) {
9209 monthElement.classList.add("dhx_cal_datepicker_current");
9210 }
9211 monthElement.setAttribute("data-month", month.getMonth());
9212 monthElement.innerHTML = formatLabel(month);
9213 this._domEvents.attach(monthElement, "click", () => {
9214 const newDate = new Date(month);
9215 this.setState({ date: newDate, mode: "days" });
9216 });
9217 wrapper.appendChild(monthElement);
9218 });
9219 container.appendChild(wrapper);
9220 const doneArea = document.createElement("div");
9221 doneArea.classList.add("dhx_cal_datepicker_done");
9222 const doneBtn = document.createElement("button");
9223 doneBtn.innerText = "Done";
9224 doneBtn.classList.add("dhx_cal_datepicker_done_btn");
9225 this._domEvents.attach(doneBtn, "click", () => {
9226 this.setState({ mode: "days" });
9227 });
9228 doneArea.appendChild(doneBtn);
9229 container.appendChild(doneArea);
9230 }
9231 _renderYearGrid(container) {
9232 const { date } = this.getState();
9233 const startYear = Math.floor(date.getFullYear() / 10) * 10;

Callers 1

renderMethod · 0.95

Calls 5

getStateMethod · 0.95
setStateMethod · 0.95
addMethod · 0.65
date_to_strMethod · 0.65
attachMethod · 0.45

Tested by

no test coverage detected