0x1998 - MANAGER
Düzenlenen Dosya: advanced-date-field.js
(()=>{"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function a(e){for(var a=1;a<arguments.length;a++){var i=null!=arguments[a]?arguments[a]:{};a%2?t(Object(i),!0).forEach(function(t){n(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}function n(e,t,a){return(t=r(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,r(n.key),n)}}function r(t){var a=function(t){if("object"!=e(t)||!t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var n=a.call(t,"string");if("object"!=e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==e(a)?a:a+""}const l=function(){return e=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var i=n.labels,r=n.templateEngine,l=n.initCallback;this.initCallbacks=[],this.templateEngine=r||"wp",l&&this.addInitCallback(l),this.labels=a(a({},{startDate:"Start date",hasEndDate:"Has end date",endTime:"End time",isRecurring:"Is recurring?",repeat:"Repeat",every:"Every",onDay:"on day",onThe:"on the",recurring:"Recurring",recurringPeriod:"Recurring period",weekDays:"Week days",monthlyType:"Monthly type",monthDay:"Month day",monthDayType:"Month day type",monthDayTypeValue:"Month day type value",month:"Month",end:"End",after:"After",onDate:"On Date",iterations:"iterations",confirmDelete:"Are you sure?",confirmDeleteYes:"Yes",confirmDeleteNo:"No",addDate:"+ Add date",recurringLabelDaily:"Daily",recurringLabelWeekly:"Weekly",recurringLabelMonthly:"Monthly",recurringLabelYearly:"Yearly",recurringSubLabelDaily:"day(s)",recurringSubLabelWeekly:"week(s)",recurringSubLabelMonthly:"month(s)",recurringSubLabelYearly:"year(s)",first:"First",second:"Second",third:"Third",fourth:"Fourth",last:"Last",day:"Day",weekDayMon:"Mon",weekDayTue:"Tue",weekDayWed:"Wed",weekDayThu:"Thu",weekDayFri:"Fri",weekDaySat:"Sat",weekDaySun:"Sun",monthJan:"Jan",monthFeb:"Feb",monthMar:"Mar",monthApr:"Apr",monthMay:"May",monthJun:"Jun",monthJul:"Jul",monthAug:"Aug",monthSep:"Sep",monthOct:"Oct",monthNov:"Nov",monthDec:"Dec"}),i),this.setup(t),this.render(),this.events()},(t=[{key:"addInitCallback",value:function(e){this.initCallbacks.push(e)}},{key:"setup",value:function(e){this.$container=jQuery("<div></div>").appendTo(e),this.$input=e.find('input[type="hidden"]'),this.fieldName=this.$input.attr("name"),this.required=this.$input.attr("required")||!1,this.value=this.$input.val()||"{}",this.allowTime=this.$input.data("allow-time"),this.dataFormat=this.$input.data("format")||"rrule";try{this.value=JSON.parse(this.value)}catch(e){this.value={}}this.dates=this.value.dates||[],this.date=this.value.date||"",this.time=this.value.time||"",this.isEndDate=this.value.is_end_date||!1,this.endDate=this.value.end_date||"",this.endTime=this.value.end_time||"",this.isRecurring=this.value.is_recurring||!1,this.recurring=this.value.recurring||"weekly",this.recurringPeriod=this.value.recurring_period||1,this.weekDays=this.value.week_days||[],this.monthlyType=this.value.monthly_type||"on_day",this.monthDay=this.value.month_day||1,this.monthDayType=this.value.month_day_type||"first",this.monthDayTypeValue=this.value.month_day_type_value||"Sun",this.month=this.value.month||"Jan",this.end=this.value.end||"after",this.endAfter=this.value.end_after||5,this.endAfterDate=this.value.end_after_date||"",this.dates.length||(this.dates=[],this.dates.push({date:this.date,time:this.time,isEndDate:this.isEndDate,endDate:this.endDate,endTime:this.endTime}));for(var t=["isEndDate","isRecurring"],a=0;a<t.length;a++)1==this[t[a]]?this[t[a]]=!0:this[t[a]]=!1}},{key:"getProps",value:function(){return{dates:this.dates,date:this.date,time:this.time,is_end_date:this.isEndDate,end_date:this.endDate,end_time:this.endTime,is_recurring:this.isRecurring,recurring:this.recurring,recurring_period:this.recurringPeriod,week_days:this.weekDays,monthly_type:this.monthlyType,month_day:this.monthDay,month_day_type:this.monthDayType,month_day_type_value:this.monthDayTypeValue,month:this.month,end:this.end,end_after:this.endAfter,end_after_date:this.endAfterDate,data_format:this.dataFormat}}},{key:"render",value:function(){"rrule"===this.dataFormat?this.renderRecurring():this.renderCustom()}},{key:"renderCustom",value:function(){var e=this,t=document.createElement("div"),a=document.createElement("button");t.classList.add("jet-engine-advanced-date-field__repeater"),a.classList.add("jet-engine-advanced-date-field__repeater-new"),a.setAttribute("type","button"),a.innerHTML=this.labels.addDate;for(var n=0;n<this.dates.length;n++)this.dates[n].uid||(this.dates[n].uid=this.randomID()),t.append(this.getNewRepeaterEl(this.formatData(this.dates[n])));a.addEventListener("click",function(a){a.preventDefault();var n={uid:e.randomID(),date:"",time:"",isEndDate:!1,endDate:"",endTime:""};e.dates.push(n),t.append(e.getNewRepeaterEl(n))}),this.$container.append(t),this.$container.append(a)}},{key:"formatData",value:function(e){var t={};for(var a in e)t[a.replace(/_([a-z])/g,function(e){return e[1].toUpperCase()})]=e[a];return t}},{key:"randomID",value:function(){return Math.floor(9e3*Math.random()+1e3)}},{key:"getNewRepeaterEl",value:function(e){var t=this;this.fieldTemplate||("wp"===this.templateEngine?this.fieldTemplate=wp.template("jet-engine-advanced-date-field-custom"):this.fieldTemplate=this.templateEngine("base-date"));var n={required:!1,allowTime:this.allowTime,fieldName:this.fieldName+"[dates]["+e.uid+"]",labels:this.labels};e=a(a({},n),e);var i=document.createElement("div");i.classList.add("jet-engine-advanced-date-field__repeater-row"),i.innerHTML=this.fieldTemplate(e),i.dataset.index=e.uid,i.setAttribute("data-index",e.uid);var r=document.createElement("div"),l=document.createElement("button"),s=document.createElement("div");return r.classList.add("jet-engine-advanced-date-field__repeater-delete"),l.classList.add("jet-engine-advanced-date-field__repeater-delete-button"),l.setAttribute("type","button"),l.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><rect x="0" fill="none" width="20" height="20"/><g><path d="M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z"/></g></svg>',s.classList.add("jet-engine-advanced-date-field__repeater-confirm"),s.innerHTML="".concat(this.labels.confirmDelete,' <span class="jet-engine-advanced-date-field__repeater-confirm-yes">').concat(this.labels.confirmDeleteYes,'</span><span class="jet-engine-advanced-date-field__repeater-confirm-no">').concat(this.labels.confirmDeleteNo,"</span>"),r.append(l),r.append(s),l.addEventListener("click",function(e){e.preventDefault(),r.classList.add("show-confirm")}),s.addEventListener("click",function(a){a.preventDefault(),a.stopPropagation(),a.target.classList.contains("jet-engine-advanced-date-field__repeater-confirm-yes")&&(i.remove(),t.dates=t.dates.filter(function(t){return t.uid!=e.uid}),t.$input.attr("value",JSON.stringify(t.getProps()))),a.target.classList.contains("jet-engine-advanced-date-field__repeater-confirm-no")&&r.classList.remove("show-confirm")}),i.append(r),this.initCallbacks.forEach(function(e){e({instance:t,newRow:i})}),i}},{key:"renderRecurring",value:function(){var e,t=this;e="wp"===this.templateEngine?wp.template("jet-engine-advanced-date-field-rrule"):this.templateEngine();var a={labels:this.labels,weekdaysConfig:[{value:1,label:this.labels.weekDayMon},{value:2,label:this.labels.weekDayTue},{value:3,label:this.labels.weekDayWed},{value:4,label:this.labels.weekDayThu},{value:5,label:this.labels.weekDayFri},{value:6,label:this.labels.weekDaySat},{value:7,label:this.labels.weekDaySun}],months:[{value:1,label:this.labels.monthJan},{value:2,label:this.labels.monthFeb},{value:3,label:this.labels.monthMar},{value:4,label:this.labels.monthApr},{value:5,label:this.labels.monthMay},{value:6,label:this.labels.monthJun},{value:7,label:this.labels.monthJul},{value:8,label:this.labels.monthAug},{value:9,label:this.labels.monthSep},{value:10,label:this.labels.monthOct},{value:11,label:this.labels.monthNov},{value:12,label:this.labels.monthDec}],recurrings:[{value:"daily",label:this.labels.recurringLabelDaily,sublabel:this.labels.recurringSubLabelDaily},{value:"weekly",label:this.labels.recurringLabelWeekly,sublabel:this.labels.recurringSubLabelWeekly},{value:"monthly",label:this.labels.recurringLabelMonthly,sublabel:this.labels.recurringSubLabelMonthly},{value:"yearly",label:this.labels.recurringLabelYearly,sublabel:this.labels.recurringSubLabelYearly}],required:this.required,fieldName:this.fieldName,date:this.date,time:this.time,isEndDate:this.isEndDate,endDate:this.endDate,endTime:this.endTime,isRecurring:this.isRecurring,recurring:this.recurring,recurringPeriod:this.recurringPeriod,weekDays:this.weekDays,monthlyType:this.monthlyType,monthDay:this.monthDay,monthDayType:this.monthDayType,monthDayTypeValue:this.monthDayTypeValue,month:this.month,end:this.end,endAfter:this.endAfter,endAfterDate:this.endAfterDate,allowTime:this.allowTime};this.$container.html(e(a)),this.initCallbacks.forEach(function(e){e({instance:t})})}},{key:"selectors",value:function(e){var t={date:'input[name="'+this.fieldName+'[date]"]',time:'input[name="'+this.fieldName+'[time]"]',isEndDate:'input[name="'+this.fieldName+'[is_end_date]"]',endDate:'input[name="'+this.fieldName+'[end_date]"]',endTime:'select[name="'+this.fieldName+'[end_time]"]',isRecurring:'input[name="'+this.fieldName+'[is_recurring]"]',recurring:'select[name="'+this.fieldName+'[recurring]"]',recurringPeriod:'input[name="'+this.fieldName+'[recurring_period]"]',weekDays:'input[name="'+this.fieldName+'[week_days][]"]',monthlyType:'input[name="'+this.fieldName+'[monthly_type]"]',monthDay:'select[name="'+this.fieldName+'[month_day]"]',monthDayType:'select[name="'+this.fieldName+'[month_day_type]"]',monthDayTypeValue:'select[name="'+this.fieldName+'[month_day_type_value]"]',month:'select[name="'+this.fieldName+'[month]"]',end:'select[name="'+this.fieldName+'[end]"]',endAfter:'input[name="'+this.fieldName+'[end_after]"]',endAfterDate:'input[name="'+this.fieldName+'[end_after_date]"]'};return e?t[e]:t}},{key:"update",value:function(e,t){t=t||!1;var a=!1;for(var n in e)this[n]!==e[n]&&(this[n]=e[n],a=!0);this.$input.attr("value",JSON.stringify(this.getProps())),!t&&a&&this.render()}},{key:"events",value:function(){"rrule"===this.dataFormat?this.eventsRRule():this.eventsCustom()}},{key:"eventsCustom",value:function(){var e=this;this.$container.on("change",".jet-engine-advanced-date-field--switcher, .field-type-switcher input",function(t){var a=jQuery(t.target).closest(".jet-engine-advanced-date-field__repeater-row"),n=a.data("index");if("isEndDate"===t.target.dataset.key)for(var i=0;i<e.dates.length;i++)if(e.dates[i].uid==n){void 0===e.dates[i].isEndDate?e.dates[i].isEndDate=t.target.checked:e.dates[i].isEndDate=!e.dates[i].isEndDate,a.replaceWith(e.getNewRepeaterEl(e.dates[i]));break}e.$input.attr("value",JSON.stringify(e.getProps()))}),jQuery(window).on("cx-control-change change",function(t){var a=t.input||jQuery(t.target);if(a&&a.hasClass("jet-engine-advanced-date-field--control")){for(var n=a.closest(".jet-engine-advanced-date-field__repeater-row").data("index"),i=0;i<e.dates.length;i++)if(e.dates[i].uid==n){var r=t.controlStatus||t.target.value;e.dates[i][a.data("key")]=r;break}e.$input.attr("value",JSON.stringify(e.getProps()))}})}},{key:"eventsRRule",value:function(){for(var e=this,t=["isEndDate","isRecurring"],a=["end","recurring","month"],i=["recurringPeriod","monthlyType","monthDay","monthDayType","monthDayTypeValue","endAfter"],r={date:this.fieldName+"[date]",time:this.fieldName+"[time]",endDate:this.fieldName+"[end_date]",endTime:this.fieldName+"[end_time]",endAfterDate:this.fieldName+"[end_after_date]"},l=0;l<t.length;l++)this.$container.on("change",this.selectors(t[l]),function(t,a){e.update(n({},t,a.target.checked))}.bind(void 0,t[l]));for(l=0;l<a.length;l++)this.$container.on("change",this.selectors(a[l]),function(t,a){e.update(n({},t,a.target.value))}.bind(void 0,a[l]));for(l=0;l<i.length;l++)this.$container.on("change",this.selectors(i[l]),function(t,a){e.update(n({},t,a.target.value),!0)}.bind(void 0,i[l]));for(var s in r)jQuery(window).on("cx-control-change",function(t,a,i){i.controlName==a&&e.update(n({},t,i.controlStatus),!0)}.bind(void 0,s,r[s])),this.$container.on("change",this.selectors(r[s]),function(t,a,i){var r;(null==i||null===(r=i.target)||void 0===r?void 0:r.name)==a&&e.update(n({},t,i.target.value),!0)}.bind(void 0,s,r[s]));this.$container.on("change",this.selectors("weekDays"),function(t){var a=[],n=document.querySelectorAll(e.selectors("weekDays")+":checked");if(n&&n.length)for(var i=0;i<n.length;i++)a.push(n[i].value);e.update({weekDays:a})})}}])&&i(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function o(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,d(n.key),n)}}function d(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=s(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}var u,h;u=jQuery,h=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.events(),this.initCallback=t.initCallback||null},(t=[{key:"events",value:function(){var e=this;e.initFields(u(".cx-control")),u(document).on("cx-control-init",function(t,a){null!=a&&a.target&&e.initFields(u(a.target))})}},{key:"initFields",value:function(e){var t=this;u(".jet-engine-advanced-date-field.cx-ui-container",e).each(function(){var e=u(this);new IntersectionObserver(function(a,n){a.forEach(function(a){a.isIntersecting&&(new l(e,{labels:{},templateEngine:null,initCallback:t.initCallback}),n.unobserve(a.target))})}).observe(e[0])})}}])&&o(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}(),u(function(){new h({initCallback:function(e){null!=e&&e.newRow?window.JetEngineMetaBoxes.initDateFields(u(e.newRow)):window.JetEngineMetaBoxes.initDateFields(e.$container)}})})})();
geri dön