(scheduler2)
| 10814 | })(); |
| 10815 | } |
| 10816 | function marker(scheduler2) { |
| 10817 | scheduler2.$keyboardNavigation.marker = { clear: function() { |
| 10818 | var divs = scheduler2.$container.querySelectorAll(".dhx_focus_slot"); |
| 10819 | for (var i = 0; i < divs.length; i++) { |
| 10820 | divs[i].parentNode.removeChild(divs[i]); |
| 10821 | } |
| 10822 | }, createElement: function() { |
| 10823 | var element = document.createElement("div"); |
| 10824 | element.setAttribute("tabindex", -1); |
| 10825 | element.className = "dhx_focus_slot"; |
| 10826 | return element; |
| 10827 | }, renderMultiple: function(start, end, method) { |
| 10828 | var divs = []; |
| 10829 | var currentStart = new Date(start); |
| 10830 | var currentEnd = new Date(Math.min(end.valueOf(), scheduler2.date.add(scheduler2.date.day_start(new Date(start)), 1, "day").valueOf())); |
| 10831 | while (currentStart.valueOf() < end.valueOf()) { |
| 10832 | divs = divs.concat(method.call(this, currentStart, new Date(Math.min(currentEnd.valueOf(), end.valueOf())))); |
| 10833 | currentStart = scheduler2.date.day_start(scheduler2.date.add(currentStart, 1, "day")); |
| 10834 | currentEnd = scheduler2.date.day_start(scheduler2.date.add(currentStart, 1, "day")); |
| 10835 | currentEnd = new Date(Math.min(currentEnd.valueOf(), end.valueOf())); |
| 10836 | } |
| 10837 | return divs; |
| 10838 | }, render: function(start, end, section) { |
| 10839 | this.clear(); |
| 10840 | var divs = []; |
| 10841 | var modes = scheduler2.$keyboardNavigation.TimeSlot.prototype._modes; |
| 10842 | var view = scheduler2.$keyboardNavigation.TimeSlot.prototype._getMode(); |
| 10843 | switch (view) { |
| 10844 | case modes.units: |
| 10845 | divs = this.renderVerticalMarker(start, end, section); |
| 10846 | break; |
| 10847 | case modes.timeline: |
| 10848 | divs = this.renderTimelineMarker(start, end, section); |
| 10849 | break; |
| 10850 | case modes.year: |
| 10851 | divs = divs.concat(this.renderMultiple(start, end, this.renderYearMarker)); |
| 10852 | break; |
| 10853 | case modes.month: |
| 10854 | divs = this.renderMonthMarker(start, end); |
| 10855 | break; |
| 10856 | case modes.weekAgenda: |
| 10857 | divs = divs.concat(this.renderMultiple(start, end, this.renderWeekAgendaMarker)); |
| 10858 | break; |
| 10859 | case modes.list: |
| 10860 | divs = this.renderAgendaMarker(start, end); |
| 10861 | break; |
| 10862 | case modes.dayColumns: |
| 10863 | divs = divs.concat(this.renderMultiple(start, end, this.renderVerticalMarker)); |
| 10864 | break; |
| 10865 | } |
| 10866 | this.addWaiAriaLabel(divs, start, end, section); |
| 10867 | this.addDataAttributes(divs, start, end, section); |
| 10868 | for (var i = divs.length - 1; i >= 0; i--) { |
| 10869 | if (divs[i].offsetWidth) { |
| 10870 | return divs[i]; |
| 10871 | } |
| 10872 | } |
| 10873 | return null; |
no test coverage detected