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

Method _renderYearGrid

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

Source from the content-addressed store, hash-verified

9229 container.appendChild(doneArea);
9230 }
9231 _renderYearGrid(container) {
9232 const { date } = this.getState();
9233 const startYear = Math.floor(date.getFullYear() / 10) * 10;
9234 const wrapper = document.createElement("div");
9235 wrapper.classList.add("dhx_cal_datepicker_years");
9236 for (let i = startYear - 1; i <= startYear + 10; i++) {
9237 const yearElement = document.createElement("div");
9238 yearElement.innerText = i;
9239 yearElement.classList.add("dhx_cal_datepicker_year");
9240 yearElement.setAttribute("data-year", i);
9241 if (date.getFullYear() === i) {
9242 yearElement.classList.add("dhx_cal_datepicker_current");
9243 }
9244 this._domEvents.attach(yearElement, "click", () => {
9245 this.setState({ date: new Date(i, date.getMonth(), 1), mode: "months" });
9246 });
9247 wrapper.appendChild(yearElement);
9248 }
9249 container.appendChild(wrapper);
9250 const doneArea = document.createElement("div");
9251 doneArea.classList.add("dhx_cal_datepicker_done");
9252 const doneBtn = document.createElement("button");
9253 doneBtn.innerText = "Done";
9254 doneBtn.classList.add("dhx_cal_datepicker_done_btn");
9255 this._domEvents.attach(doneBtn, "click", () => {
9256 this.setState({ mode: "months" });
9257 });
9258 doneArea.appendChild(doneBtn);
9259 container.appendChild(doneArea);
9260 }
9261 destructor() {
9262 this.onStateChangeHandlers = [];
9263 if (this.element) {

Callers 1

renderMethod · 0.95

Calls 4

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

Tested by

no test coverage detected