| 3063 | }), o.appendChild(_), i.appendChild(o); |
| 3064 | } |
| 3065 | _renderYearGrid(i) { |
| 3066 | const { date: t } = this.getState(), n = 10 * Math.floor(t.getFullYear() / 10), s = document.createElement("div"); |
| 3067 | s.classList.add("dhx_cal_datepicker_years"); |
| 3068 | for (let _ = n - 1; _ <= n + 10; _++) { |
| 3069 | const r = document.createElement("div"); |
| 3070 | r.innerText = _, r.classList.add("dhx_cal_datepicker_year"), r.setAttribute("data-year", _), t.getFullYear() === _ && r.classList.add("dhx_cal_datepicker_current"), this._domEvents.attach(r, "click", () => { |
| 3071 | this.setState({ date: new Date(_, t.getMonth(), 1), mode: "months" }); |
| 3072 | }), s.appendChild(r); |
| 3073 | } |
| 3074 | i.appendChild(s); |
| 3075 | const a = document.createElement("div"); |
| 3076 | a.classList.add("dhx_cal_datepicker_done"); |
| 3077 | const o = document.createElement("button"); |
| 3078 | o.innerText = "Done", o.classList.add("dhx_cal_datepicker_done_btn"), this._domEvents.attach(o, "click", () => { |
| 3079 | this.setState({ mode: "months" }); |
| 3080 | }), a.appendChild(o), i.appendChild(a); |
| 3081 | } |
| 3082 | destructor() { |
| 3083 | this.onStateChangeHandlers = [], this.element && (this.element.innerHTML = "", this.element.remove()), this._domEvents.detachAll(), this.callEvent("onDestroy", []), this.detachAllEvents(), this.scheduler = null; |
| 3084 | } |