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

Method _renderYearGrid

codebase/sources/dhtmlxscheduler.es.js:9227–9256  ·  view source on GitHub ↗
(container)

Source from the content-addressed store, hash-verified

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