Sha256: c899a37722d0e93cab1fb65ecc56d1201977c38c923cf06d1ce5e8f43440ada2
Contents?: true
Size: 1.7 KB
Versions: 1
Compression:
Stored size: 1.7 KB
Contents
function weekSelectPlugin(pluginConfig) { return function (fp) { function onDayHover(event) { if (!event.target.classList.contains("flatpickr-day")) return; var days = event.target.parentNode.childNodes; var dayIndex = event.target.$i; var weekStartDay = days[7 * Math.floor(dayIndex / 7)].dateObj; var weekEndDay = days[7 * Math.ceil(dayIndex / 7) - 1].dateObj; for (var i = days.length; i--;) { var date = days[i].dateObj; if (date > weekEndDay || date < weekStartDay) days[i].classList.remove("inRange");else days[i].classList.add("inRange"); } } function highlightWeek() { if (fp.selectedDateElem) { fp.weekStartDay = fp.days.childNodes[7 * Math.floor(fp.selectedDateElem.$i / 7)].dateObj; fp.weekEndDay = fp.days.childNodes[7 * Math.ceil(fp.selectedDateElem.$i / 7) - 1].dateObj; } var days = fp.days.childNodes; for (var i = days.length; i--;) { var date = days[i].dateObj; if (date >= fp.weekStartDay && date <= fp.weekEndDay) days[i].classList.add("week", "selected"); } } function clearHover() { var days = fp.days.childNodes; for (var i = days.length; i--;) { days[i].classList.remove("inRange"); } } function onReady() { fp.days.parentNode.addEventListener("mouseover", onDayHover); } return { onChange: highlightWeek, onMonthChange: function onMonthChange() { return fp._.afterDayAnim(highlightWeek); }, onClose: clearHover, onParseConfig: function onParseConfig() { fp.config.mode = "single"; fp.config.enableTime = false; fp.config.dateFormat = "\\W\\e\\e\\k #W, Y"; }, onReady: [onReady, highlightWeek] }; }; } if (typeof module !== "undefined") module.exports = weekSelectPlugin;
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
trestle-0.8.0 | vendor/assets/bower_components/trestle/flatpickr/dist/plugins/weekSelect/weekSelect.js |