kollapsminoriteten/wp-content/plugins/the-events-calendar/build/js/views/datepicker.js

1 line
7.2 KiB
JavaScript
Raw Permalink Normal View History

2026-03-31 11:30:59 +02:00
tribe.events=tribe.events||{},tribe.events.views=tribe.events.views||{},tribe.events.views.datepicker={},function(e,t){"use strict";const a=e(document);t.selectors={datepickerFormClass:".tribe-events-c-top-bar__datepicker-form",datepickerContainer:'[data-js="tribe-events-top-bar-datepicker-container"]',datepickerDaysBody:".datepicker-days tbody",input:'[data-js="tribe-events-top-bar-date"]',button:'[data-js="tribe-events-top-bar-datepicker-button"]',buttonOpenClass:".tribe-events-c-top-bar__datepicker-button--open",dateInput:'[name="tribe-events-views[tribe-bar-date]"]',prevIconTemplate:".tribe-events-c-top-bar__datepicker-template-prev-icon",nextIconTemplate:".tribe-events-c-top-bar__datepicker-template-next-icon"},t.state={initialized:!1},t.options={container:null,daysOfWeekDisabled:[],maxViewMode:"decade",minViewMode:"month",orientation:"bottom left",showOnFocus:!1,templates:{leftArrow:"",rightArrow:""}},t.keyCode={ENTER:13},t.today=null,t.dateFormatMap={d:"dd",j:"d",m:"mm",n:"m",Y:"yyyy"},t.observer=null,t.padNumber=function(e){const t=e+"";return(t.length>1?"":"0")+t},t.request=function(e,t){const a={view_data:e};tribe.events.views.manager.request(a,t)},t.createDateInputObj=function(t){const a=e("<input>");return a.attr({type:"hidden",name:"tribe-events-views[tribe-bar-date]",value:t}),a},t.submitRequest=function(e,a){const n={};n["tribe-bar-date"]=a,t.request(n,e)},t.handleChangeDate=function(e){const a=e.data.container,n=e.date.getDate(),o=e.date.getMonth()+1,r=e.date.getFullYear(),i=t.padNumber(n),s=[r,t.padNumber(o),i].join("-");t.submitRequest(a,s)},t.handleChangeMonth=function(e){const a=e.data.container;let n,o;if(e.date)n=e.date.getMonth()+1,o=e.date.getFullYear();else{const e=a.find(t.selectors.input).bootstrapDatepicker("getDate");n=e.getMonth()+1,o=e.getFullYear()}const r=[o,t.padNumber(n)].join("-");t.submitRequest(a,r)},t.handleKeyDown=function(e){e.keyCode===t.keyCode.ENTER&&e.data.input.bootstrapDatepicker().trigger("changeMonth")},t.handleShow=function(e){e.data.datepickerButton.addClass(t.selectors.buttonOpenClass.className())},t.handleHide=function(e){const a=e.data.datepickerButton,n=a.data("tribeEventsState");e.data.observer.disconnect(),n.isTarget?e.data.input.bootstrapDatepicker("show"):a.removeClass(t.selectors.buttonOpenClass.className()).trigger("focus")},t.handleMousedown=function(e){const a=e.data.target,n=a.data("tribeEventsState");if("touchstart"===e.type){const e="hide"==(a.hasClass(t.selectors.buttonOpenClass.className())?"hide":"show");return n.isTarget=!1,void a.data("tribeTapHide",e).data("tribeEventsState",n).off("mousedown",t.handleMousedown)}n.isTarget=!0,a.data("tribeEventsState",n)},t.handleClick=function(e){const a=e.data.input,n=e.data.target,o=n.data("tribeEventsState"),r=n.hasClass(t.selectors.buttonOpenClass.className())?"hide":"show";n.data("tribeTapHide")||(o.isTarget=!1,n.data("tribeEventsState",o),a.bootstrapDatepicker(r),"show"===r&&a.trigger("focus"))},t.handleMutation=function(e){const a=e.container;return function(e,n){e.forEach((function(e){"childList"===e.type&&a.find(t.selectors.datepickerDaysBody).is(e.target)&&e.addedNodes.length&&a.trigger("handleMutationMonthChange.tribeEvents")}))}},t.setToday=function(e){let a=e;e.indexOf(" ")>=0&&(a=e.split(" ")[0]),t.today=new Date(a)},t.isSameAsToday=function(e,a){switch(a){case"year":return e.getFullYear()===t.today.getUTCFullYear();case"month":return t.isSameAsToday(e,"year")&&e.getMonth()===t.today.getUTCMonth();case"day":return t.isSameAsToday(e,"month")&&e.getDate()===t.today.getUTCDate();default:return!1}},t.isBeforeToday=function(e,a){switch(a){case"year":return e.getFullYear()<t.today.getUTCFullYear();case"month":return t.isBeforeToday(e,"year")||t.isSameAsToday(e,"year")&&e.getMonth()<t.today.getUTCMonth();case"day":return t.isBeforeToday(e,"month")||t.isSameAsToday(e,"month")&&e.getDate()<t.today.getUTCDate();default:return!1}},t.filterDayCells=function(e){return t.isBeforeToday(e,"day")?"past":t.isSameAsToday(e,"day")?"current":void 0},t.filterMonthCells=function(e){return t.isBeforeToday(e,"month")?"past":t