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