| 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) { |