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