| 9043 | this.setState({ currentModeIndex: newIndex }); |
| 9044 | } |
| 9045 | _renderCalendarHeader(container) { |
| 9046 | const { mode, date } = this.getState(); |
| 9047 | const header = document.createElement("div"); |
| 9048 | header.classList.add("dhx_cal_datepicker_header"); |
| 9049 | const backwardArrow = document.createElement("button"); |
| 9050 | backwardArrow.classList.add("dhx_cal_datepicker_arrow", "scheduler_icon", "arrow_left"); |
| 9051 | header.appendChild(backwardArrow); |
| 9052 | const monthLabel = document.createElement("div"); |
| 9053 | monthLabel.classList.add("dhx_cal_datepicker_title"); |
| 9054 | if (mode === "days") { |
| 9055 | monthLabel.innerText = date.toLocaleString("default", { month: "long" }) + " " + date.getFullYear(); |
| 9056 | } else if (mode === "months") { |
| 9057 | monthLabel.innerText = date.getFullYear(); |
| 9058 | } else { |
| 9059 | const startYear = Math.floor(date.getFullYear() / 10) * 10; |
| 9060 | monthLabel.innerText = `${startYear} - ${startYear + 9}`; |
| 9061 | } |
| 9062 | this._domEvents.attach(monthLabel, "click", this._toggleMode.bind(this)); |
| 9063 | header.appendChild(monthLabel); |
| 9064 | const forwardArrow = document.createElement("button"); |
| 9065 | forwardArrow.classList.add("dhx_cal_datepicker_arrow", "scheduler_icon", "arrow_right"); |
| 9066 | header.appendChild(forwardArrow); |
| 9067 | container.appendChild(header); |
| 9068 | this._domEvents.attach(backwardArrow, "click", this._adjustDate.bind(this, -1)); |
| 9069 | this._domEvents.attach(forwardArrow, "click", this._adjustDate.bind(this, 1)); |
| 9070 | } |
| 9071 | render(container) { |
| 9072 | this._domEvents.detachAll(); |
| 9073 | this.container = container || this.container; |