MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / k

Function k

codebase/dhtmlxscheduler.js:95–95  ·  view source on GitHub ↗
(m,x,b)

Source from the content-addressed store, hash-verified

93 ${T.label}
94 </label>`).join("")}
95 </div>`,type:"recurring_mode",title:x.title||e.locale.labels.confirm_recurring,width:"auto",position:"middle",buttons:[{label:x.ok||e.locale.labels.message_ok,value:"ok",css:"rec_ok"},{label:x.cancel||e.locale.labels.message_cancel,value:"cancel"}],callback:function(T,A){if(T==="cancel")return void S(null);const C=A.target.closest(".scheduler_modal_box"),$=C&&C.querySelector("input[type='radio']:checked"),H=$?$.value:null;S(H||null)}})})},_getDecision:async function(m){const x=e.ext.recurring.confirm;let b;return b=typeof x=="function"?await x(m):void 0,b===void 0&&(b=await e.ext.recurring.confirmDefault(m)),b===null?null:m.options&&m.options.length>0&&m.options.indexOf(b)===-1?(console.warning(`[recurring extension] - the custom confirm handler returned a value ("${b}") which is not in the allowed options list. The allowed options are: [${m.options.join(", ")}]. The operation will be cancelled.`),null):b}},e.ext.recurring.confirm=e.ext.recurring.confirmDefault,e._isFollowing=function(m){let x=e.getEvent(m);return!(!x||!x._thisAndFollowing)},e._isFirstOccurrence=function(m){if(e._is_virtual_event(m.id)){let x=m.id.split("#")[0];return e.getEvent(x).start_date.valueOf()===m.start_date.valueOf()}},e._isExceptionFirstOccurrence=function(m){if(e._is_modified_occurrence(m)){let x=m.recurring_event_id,b=e.getEvent(x);return!(!m.original_start||!m.original_start.valueOf()||m.original_start.valueOf()!==b.start_date.valueOf())}},e._rec_temp=[],e._rec_markers_pull={},e._rec_markers={},e._add_rec_marker=function(m,x){m._pid_time=x,this._rec_markers[m.id]=m,this._rec_markers_pull[m.event_pid]||(this._rec_markers_pull[m.event_pid]={}),this._rec_markers_pull[m.event_pid][x]=m},e._get_rec_marker=function(m,x){let b=this._rec_markers_pull[x];return b?b[m]:null},e._get_rec_markers=function(m){return this._rec_markers_pull[m]||[]},function(){let m=e.addEvent;e.addEvent=function(x,b,E,S,T){const A=m.apply(this,arguments);if(A&&e.getEvent(A)){const C=e.getEvent(A);C.start_date&&(C.start_date=t(C.start_date)),C.end_date&&(C.end_date=t(C.end_date))}return A}}(),e.attachEvent("onEventLoading",function(m){return m.original_start&&!m.original_start.getFullYear&&(m.original_start=e.templates.parse_date(m.original_start)),!0}),e.attachEvent("onEventIdChange",function(m,x){if(this._ignore_call)return;this._ignore_call=!0,e._rec_markers[m]&&(e._rec_markers[x]=e._rec_markers[m],delete e._rec_markers[m]),e._rec_markers_pull[m]&&(e._rec_markers_pull[x]=e._rec_markers_pull[m],delete e._rec_markers_pull[m]);for(let E=0;E<this._rec_temp.length;E++){let S=this._rec_temp[E];this._is_virtual_event(S.id)&&S.id.split("#")[0]==m&&(S.recurring_event_id=x,this.changeEventId(S.id,x+"#"+S.id.split("#")[1]))}for(let E in this._rec_markers){let S=this._rec_markers[E];S.recurring_event_id==m&&(S.recurring_event_id=x,S._pid_changed=!0)}let b=e._rec_markers[x];b&&b._pid_changed&&(delete b._pid_changed,setTimeout(function(){if(e.$destroyed)return!0;e.callEvent("onEventChanged",[x,e.getEvent(x)])},1)),delete this._ignore_call}),e.attachEvent("onConfirmedBeforeEventDelete",function(m){const x=this.getEvent(m);if(this._is_virtual_event(m)||this._is_modified_occurrence(x)&&!function(b){return!!b.deleted}(x))p(m,x);else{n(x)&&this._lightbox_id&&this._roll_back_dates(x);const b=this._get_rec_markers(m);for(let E in b)b.hasOwnProperty(E)&&(m=b[E].id,this.getEvent(m)&&this.deleteEvent(m,!0))}return!0}),e.attachEvent("onEventDeleted",function(m,x){!this._is_virtual_event(m)&&this._is_modified_occurrence(x)&&(e._events[m]||(x.deleted=!0,this.setEvent(m,x),e.render()))}),e.attachEvent("onBeforeEventChanged",function(m,x,b,E){return!(!b&&m&&(e._is_virtual_event(m.id)||e._is_modified_occurrence(m))&&(E.start_date.getDate()!==m.start_date.getDate()?m._beforeEventChangedFlag="edit":m._beforeEventChangedFlag="ask",!e.config.collision_limit||e.checkCollision(m)))||(e._events.$dnd_recurring_placeholder=e._lame_clone(m),e._showRequiredModalBox(m.id,m._beforeEventChangedFlag),!1)}),e.attachEvent("onEventChanged",function(m,x){if(this._loading)return!0;let b=this.getEvent(m);if(this._is_virtual_event(m))(function(E){let S=E.id.split("#"),T=e.uid();e._not_render=!0;let A=e._copy_event(E);A.id=T,A.recurring_event_id=S[0];let C=S[1];A.original_start=new Date(Number(C)),e._add_rec_marker(A,C),e.addEvent(A),e._not_render=!1})(b);else{b.start_date&&(b.start_date=t(b.start_date)),b.end_date&&(b.end_date=t(b.end_date)),n(b)&&this._lightbox_id&&(b._removeFollowing||this._isFollowing(m)?b._removeFollowing=null:this._roll_back_dates(b));const E=this._get_rec_markers(m);for(let T in E)E.hasOwnProperty(T)&&(delete this._rec_markers[E[T].id],this.deleteEvent(E[T].id,!0));delete this._rec_markers_pull[m];let S=!1;for(let T=0;T<this._rendered.length;T++)this._rendered[T].getAttribute(this.config.event_attribute)==m&&(S=!0);S||(this._select_id=null)}return v(),!0}),e.attachEvent("onEventAdded",function(m){if(!this._loading){const x=this.getEvent(m);n(x)&&this._roll_back_dates(x)}return!0}),e.attachEvent("onRecurringEventSave",function(m,x,b){let E=this.getEvent(m),S=e._lame_clone(E),T=e._lame_clone(x);if(E&&n(E)&&!b&&this._isFollowing(m)){if(E._removeFollowing){if(e.getEvent(E._thisAndFollowing)&&(E._firstOccurrence||E._modified))return e.hideLightbox(),e.deleteEvent(E.id),!1;if(E.end_date=new Date(E.start_date.valueOf()-1e3),E._end_date=E._shorten_end_date,E.start_date=E._start_date,E._shorten=!0,o(E),e.callEvent("onEventChanged",[E.id,E]),e.getEvent(E._thisAndFollowing))for(const A in e._events){let C=e._events[A];C.recurring_event_id===m&&C.start_date.valueOf()>S.start_date.valueOf()&&p(C.id,C)}return e.hideLightbox(),!1}{let A=e.getEvent(E._thisAndFollowing);if(A&&E._firstOccurrence)for(const C in e._events)e._events[C].id==E.id&&d(C,x,E,S);else if(A&&E._modified)for(const C in e._events){let $=e._events[C];$.recurring_event_id==m&&$.id==S._thisAndFollowing&&d(C,x,E,S)}else{e._is_modified_occurrence(A)&&l(A),E.end_date=E._shorten_end_date,E._end_date=E._shorten_end_date,E.start_date=E._start_date,E._shorten=!0,o(E),e.callEvent("onEventChanged",[E.id,E]);let C={...T};C._end_date=S._end_date,C._start_date=null,C.id=e.uid(),e.addEvent(C.start_date,C.end_date,C.text,C.id,C)}return b||h(m,x),e.hideLightbox(),!1}}return b||h(m,x),S._ocr&&S._beforeEventChangedFlag?(E.start_date=S.start_date,E.end_date=S.end_date,E._start_date=S._start_date,E._end_date=S._end_date,e.updateEvent(E.id),!0):(this._select_id=null,v(),!0)}),e.attachEvent("onEventCreated",function(m){const x=this.getEvent(m);return n(x)||function(b){b.rrule="",b.original_start=null,b.recurring_event_id=null,b.duration=null,b.deleted=null}(x),!0}),e.attachEvent("onEventCancel",function(m){const x=this.getEvent(m);n(x)&&(this._roll_back_dates(x),this.render_view_data()),v()}),e.attachEvent("onLightbox",function(m){const x=e.getEvent(m);if(e._is_virtual_event(x.id)){const b=e.formSection("recurring");if(b&&b.node){const E=b.node.querySelector("select");E&&(E.disabled=!0)}}}),e._roll_back_dates=function(m){m.start_date&&(m.start_date=t(m.start_date)),m.end_date&&(m.end_date=t(m.end_date)),m._end_date&&(m._shorten||(m.duration=Math.round((m.end_date.valueOf()-m.start_date.valueOf())/1e3)),m.end_date=m._end_date),m._start_date&&(m.start_date.setMonth(0),m.start_date.setDate(m._start_date.getDate()),m.start_date.setMonth(m._start_date.getMonth()),m.start_date.setFullYear(m._start_date.getFullYear()),this._isFollowing(m.id)&&(m.start_date.setHours(m._start_date.getHours()),m.start_date.setMinutes(m._start_date.getMinutes()),m.start_date.setSeconds(m._start_date.getSeconds()))),m._thisAndFollowing=null,m._shorten_end_date&&(m._shorten_end_date=null),m._removeFollowing&&(m._removeFollowing=null),m._firstOccurrence&&(m._firstOccurrence=null),m._modified&&(m._modified=null)},e._is_virtual_event=function(m){return m.toString().indexOf("#")!=-1},e._is_modified_occurrence=function(m){return m.recurring_event_id&&m.recurring_event_id!="0"},e.showLightbox_rec=e.showLightbox,e.showLightbox=function(m){const x=this.locale;let b=e.config.lightbox_recurring,E=this.getEvent(m),S=E.recurring_event_id,T=this._is_virtual_event(m);T&&(S=m.split("#")[0]);const A=function(C,$){const H=e.getEvent(C),O=e.getEvent(S),R=e.getView();if(R&&H[R.y_property]&&(O[R.y_property]=H[R.y_property]),R&&H[R.property]&&(O[R.property]=H[R.property]),$==="Occurrence")return e.showLightbox_rec(C);if($==="Following"){if(e._isExceptionFirstOccurrence(H)||e._isFirstOccurrence(H))return r(O,H),e.showLightbox_rec(S);{O._end_date=O.end_date;const P=H.original_start||H.start_date;return O._shorten_end_date=new Date(P.valueOf()-1e3),O.end_date=new Date(H.start_date.valueOf()+1e3*O.duration),O._start_date=O.start_date,O.start_date=H.start_date,O._thisAndFollowing=H.id,E._beforeEventChangedFlag&&(O._beforeEventChangedFlag=E._beforeEventChangedFlag,O._shorten_end_date=new Date(P.valueOf()-1e3)),e.showLightbox_rec(S)}}if($==="AllEvents"){if(e._isExceptionFirstOccurrence(H)||e._isFirstOccurrence(H))return r(O,H),e.showLightbox_rec(S);const P=new Date(O.start_date);return O._end_date=O.end_date,O._start_date=P,O.start_date.setHours(H.start_date.getHours()),O.start_date.setMinutes(H.start_date.getMinutes()),O.start_date.setSeconds(H.start_date.getSeconds()),O.end_date=new Date(O.start_date.valueOf()+1e3*O.duration),O._thisAndFollowing=null,e.showLightbox_rec(S)}};if((S||1*S==0)&&n(E))return A(m,"AllEvents");if(!S||S==="0"||!x.labels.confirm_recurring||b=="instance"||b=="series"&&!T)return this.showLightbox_rec(m);b==="ask"&&async function(C,$){const H=e.locale,O=e.getEvent(C),R=e.getEvent($),P={origin:"lightbox",occurrence:O,series:R,labels:{title:H.labels.confirm_recurring,ok:H.labels.message_ok,cancel:H.labels.message_cancel,occurrence:H.labels.button_edit_occurrence,following:H.labels.button_edit_occurrence_and_following,series:H.labels.button_edit_series},options:["occurrence","following","series"]},j=await e.ext.recurring._getDecision(P);if(j!==null){if(j==="occurrence")return A(C,"Occurrence");if(j==="following")return A(C,"Following");j==="series"&&A(C,"AllEvents")}}(m,S)},e._showRequiredModalBox=function(m,x){let b;const E=e.locale;let S=e.getEvent(m),T=S.recurring_event_id;e._is_virtual_event(S.id)&&(T=S.id.split("#")[0]);let A=e.getEvent(T);const C=e.getView();let $,H,O=e._lame_clone(A);C&&S[C.y_property]&&(O[C.y_property]=S[C.y_property]),C&&S[C.property]&&(O[C.property]=S[C.property]),S&&S._beforeEventChangedFlag&&($=S.start_date,H=S.end_date),b=x==="ask"?["occurrence","following","series"]:["occurrence","following"];const R={origin:"dnd",occurrence:S,series:A,labels:{title:E.labels.confirm_recurring,ok:E.labels.message_ok,cancel:E.labels.message_cancel,occurrence:E.labels.button_edit_occurrence,following:E.labels.button_edit_occurrence_and_following,series:E.labels.button_edit_series},options:b};Promise.resolve(e.ext.recurring._getDecision(R)).then(P=>{if(P)switch(P){case"occurrence":(function(j){let I={...A,...e.getEvent("$dnd_recurring_placeholder")};if(H&&$&&(I.start_date=$,I.end_date=H,I._beforeEventChangedFlag=j._beforeEventChangedFlag,I._ocr=!0),!e.config.collision_limit||e.checkCollision(I))for(const U in e._events){let B=e._events[U];U!=="$dnd_recurring_placeholder"&&B.id==I.id&&(e._events[U]={...I},e.callEvent("onEventChanged",[e._events[U].id,e._events[U]]))}})(S);break;case"following":(function(j){let I=e._lame_clone(j);if(H&&$&&(j._start_date=j.start_date,j.start_date=$,j.end_date=H),e._isFirstOccurrence(I)||e._isExceptionFirstOccurrence(I)){if(e._isExceptionFirstOccurrence(I)&&l(I),O._start_date=A.start_date,O.start_date=j.start_date,O.duration=(+j.end_date-+j.start_date)/1e3,O._beforeEventChangedFlag=j._beforeEventChangedFlag,O.rrule&&_(O.id,O),!e.config.collision_limit||e.checkCollision(O))for(const U in e._events)e._events[U].id==O.id&&(e._events[U]={...O},e.callEvent("onEventChanged",[e._events[U].id,e._events[U]]))}else{O._end_date=A.end_date;const U=j.original_start||e.date.date_part(new Date(j._start_date));O._shorten_end_date=new Date(U.valueOf()-1e3),O.end_date=j.end_date,O._start_date=A.start_date,O.start_date=j.start_date,O._thisAndFollowing=j.id,O.rrule&&_(O.id,O);let B=O.end_date;if(O.end_date=O._end_date,!e.config.collision_limit||e.checkCollision(O)){O.end_date=B;for(const W in e._events)e._events[W].id==O.id&&(e._events[W]={...O},e.callEvent("onRecurringEventSave",[e._events[W].id,e._events[W],e._new_event]),e.callEvent("onEventChanged",[e._events[W].id,e._events[W]]))}}})(S);break;case"series":(function(j){let I=e._lame_clone(j);if(e._isExceptionFirstOccurrence(I)&&l(I),H&&$&&(O.start_date.setHours($.getHours()),O.start_date.setMinutes($.getMinutes()),O.start_date.setSeconds($.getSeconds()),O.duration=(+H-+$)/1e3),O._beforeEventChangedFlag=j._beforeEventChangedFlag,O._thisAndFollowing=null,!e.config.collision_limit||e.checkCollision(O))for(const U in e._events)e._events[U].id==O.id&&(e._events[U]={...O},e.callEvent("onEventChanged",[e._events[U].id,e._events[U]]))})(S);break;default:return void v()}else v()})},e.get_visible_events_rec=e.get_visible_events,e.get_visible_events=function(m){for(let S=0;S<this._rec_temp.length;S++)delete this._events[this._rec_temp[S].id];this._rec_temp=[];const x=g();let b=this.get_visible_events_rec(m),E=[];for(let S=0;S<b.length;S++)b[S].deleted||b[S].recurring_event_id||(n(b[S])?this.repeat_date(b[S],E,void 0,void 0,void 0,void 0,x):E.push(b[S]));return function(S){const T={};return S.forEach(A=>{const C=T[A.id];(!C||C._beforeEventChangedFlag||A._beforeEventChangedFlag)&&(T[A.id]=A)}),Object.values(T)}(E)},function(){let m=e.isOneDayEvent;e.isOneDayEvent=function(b){return!!n(b)||m.call(this,b)};const x=e.updateEvent;e.updateEvent=function(b){const E=e.getEvent(b);E&&n(E)&&!this._is_virtual_event(b)?e.update_view():x.call(this,b)}}();const c=e.date.date_to_str("%Y%m%dT%H%i%s");function u(m){const x=m.getDay(),b=m.getDate();return{dayOfWeek:x,dayNumber:Math.ceil(b/7)}}e.repeat_date=function(m,x,b,E,S,T,A){if(!m.rrule)return;let C=A?A[m.id]:g()[m.id];C||(C={}),E=s(E||new Date(e._min_date.valueOf()-6048e5)),S=s(S||new Date(e._max_date.valueOf()-1e3));const $=s(m.start_date);let H;H=me(T?`RRULE:${m.rrule};UNTIL=${c(m.end_date)};COUNT=${T}`:`RRULE:${m.rrule};UNTIL=${c(m.end_date)}`,{dtstart:$});const O=H.between(E,S,!0).map(j=>{const I=a(j);return I.setHours(m.start_date.getHours()),I.setMinutes(m.start_date.getMinutes()),I.setSeconds(m.start_date.getSeconds()),I});let R=0;const P=m.duration;for(let j=0;j<O.length&&!(T&&R>=T);j++){const I=O[j];let U=C[I.valueOf()];if(U){if(U.deleted||U.end_date.valueOf()<e._min_date.valueOf()||!e.filter_event(U.id,U))continue;R++,x.push(U)}else{const B=e._copy_event(m);if(B.text=m.text,B.start_date=I,B.id=m.id+"#"+Math.ceil(I.valueOf()),B.end_date=new Date(I.valueOf()+1e3*P),B.end_date.valueOf()<=e._min_date.valueOf()||(B.end_date=e._fix_daylight_saving_date(B.start_date,B.end_date,m,I,B.end_date),B._timed=e.isOneDayEvent(B),!B._timed&&!e._table_view&&!e.config.multi_day))continue;x.push(B),b||(e._events[B.id]=B,e._rec_temp.push(B)),R++}}if(C&&O.length==0)for(let j in C){let I=C[j];if(I){if(I.deleted||I.end_date.valueOf()<e._min_date.valueOf()||!e.filter_event(I.id,I))continue;E&&S&&I.start_date<S&&I.end_date>E&&x.push(I)}}},e._fix_daylight_saving_date=function(m,x,b,E,S){let T=m.getTimezoneOffset()-x.getTimezoneOffset();return T?T>0?new Date(E.valueOf()+1e3*b.duration-60*T*1e3):new Date(x.valueOf()-60*T*1e3):new Date(S.valueOf())},e.getRecDates=function(m,x){let b=typeof m=="object"?m:e.getEvent(m),E=[];if(x=x||100,!n(b))return[{start_date:b.start_date,end_date:b.end_date}];if(b.deleted)return[];e.repeat_date(b,E,!0,b.start_date,b.end_date,x);let S=[];for(let T=0;T<E.length;T++)E[T].deleted||S.push({start_date:E[T].start_date,end_date:E[T].end_date});return S},e.getEvents=function(m,x){let b=[];const E=g();for(let S in this._events){let T=this._events[S];if(!T.recurring_event_id)if(m&&x&&T.start_date<x&&T.end_date>m)if(n(T)){let A=[];this.repeat_date(T,A,!0,m,x,void 0,E),A.forEach(function(C){C.start_date<x&&C.end_date>m&&b.push(C)})}else this._is_virtual_event(T.id)||b.push(T);else m||x||this._is_virtual_event(T.id)||b.push(T)}return b},e._copy_dummy=function(m){const x=new Date(this.start_date),b=new Date(this.end_date);this.start_date=x,this.end_date=b,this.duration=this.rrule=null},e.config.include_end_by=!1,e.config.lightbox_recurring="ask",e.config.recurring_workdays=[z.MO.weekday,z.TU.weekday,z.WE.weekday,z.TH.weekday,z.FR.weekday],e.config.repeat_date="%m.%d.%Y",e.config.lightbox.sections=[{name:"description",map_to:"text",type:"textarea",focus:!0},{name:"recurring",type:"recurring",map_to:"rrule"},{name:"time",height:72,type:"time",map_to:"auto"}],e.attachEvent("onClearAll",function(){e._rec_markers={},e._rec_markers_pull={},e._rec_temp=[]});const f={0:"SU",1:"MO",2:"TU",3:"WE",4:"TH",5:"FR",6:"SA"},y={0:1,1:2,2:3,3:4,4:5,5:6,6:0};function w(m,x){const b=m.querySelector("[name='repeat_interval_value']");b&&(b.value=(x?x.interval:1)||1)}function D(m){switch(m){case 1:case 31:return`${m}st`;case 2:return`${m}nd`;case 3:return`${m}rd`;default:return`${m}th`}}e.templates.repeat_monthly_date=function(m,x){return`Every ${D(m.getDate())}`},e.templates.repeat_monthly_weekday=function(m,x){const b=u(m);return`Every ${D(b.dayNumber)} ${e.locale.date.day_full[b.dayOfWeek]}`},e.templates.repeat_yearly_month_date=function(m,x){const b=m.getDate(),E=e.locale.date.month_full[m.getMonth()];return`Every ${D(b)} day of ${E}`},e.templates.repeat_yearly_month_weekday=function(m,x){const b=u(m),E=e.locale.date.month_full[m.getMonth()];return`Every ${D(b.dayNumber)} ${e.locale.date.day_full[b.dayOfWeek]} of ${E}`};const M={MONTHLY:function(m){return{rrule:{freq:z.MONTHLY,interval:1,bymonthday:m.start.getDate()},until:new Date(9999,1,1)}},WEEKLY:function(m){let x=m.start.getDay()-1;return x==-1&&(x=6),{rrule:{freq:z.WEEKLY,interval:1,byweekday:[x]},until:new Date(9999,1,1)}},DAILY:function(m){return{rrule:{freq:z.DAILY,interval:1},until:new Date(9999,1,1)}},YEARLY:function(m){return{rrule:{freq:z.YEARLY,bymonth:m.start.getMonth()+1,interval:1,bymonthday:m.start.getDate()},until:new Date(9999,1,1)}},WORKDAYS:function(m){return{rrule:{freq:z.WEEKLY,interval:1,byweekday:e.config.recurring_workdays},until:new Date(9999,1,1)}},CUSTOM:function(m,x){const b={},E=x.querySelector('[name="repeat_interval_unit"]').value,S=Math.max(1,x.querySelector('[name="repeat_interval_value"]').value),T=x.querySelector('[name="dhx_custom_month_option"]')?x.querySelector('[name="dhx_custom_month_option"]').value:null,A=x.querySelector('[name="dhx_custom_year_option"]')?x.querySelector('[name="dhx_custom_year_option"]').value:null;let C,$;switch(b.interval=S,E){case"DAILY":b.freq=z.DAILY;break;case"WEEKLY":b.freq=z.WEEKLY,C=[],x.querySelectorAll('.dhx_form_repeat_custom_week [name="week_day"]').forEach(P=>{P.checked&&C.push(P.value)}),b.byweekday=C.map(P=>{switch(P){case"MO":return z.MO.weekday;case"TU":return z.TU.weekday;case"WE":return z.WE.weekday;case"TH":return z.TH.weekday;case"FR":return z.FR.weekday;case"SA":return z.SA.weekday;case"SU":return z.SU.weekday}});break;case"MONTHLY":b.freq=z.MONTHLY,T==="month_date"?b.bymonthday=m.start.getDate():($=m.start.getDay()-1,$==-1&&($=6),b.byweekday=[$],b.bysetpos=u(m.start).dayNumber);break;case"YEARLY":b.freq=z.YEARLY,b.bymonth=m.start.getMonth()+1,A=="month_date"?b.bymonthday=m.start.getDate():($=m.start.getDay()-1,$==-1&&($=6),b.byweekday=[$],b.bysetpos=u(m.start).dayNumber)}const H=e.date.str_to_date("%Y-%m-%d");let O=new Date(9999,1,1);const R=x.querySelector('[name="dhx_custom_repeat_ends"]');return R&&R.value==="ON"?(O=H(x.querySelector('[name="dhx_form_repeat_ends_ondate"]').value),b.until=new Date(O)):R&&R.value==="AFTER"&&(b.count=Math.max(1,x.querySelector('[name="dhx_form_repeat_ends_after"]').value)),{rrule:b,until:O}},NEVER:function(){}};function k(m,x,b){(function(E,S){w(E,S)})(m,x),function(E,S,T){if(w(E,S),E.querySelectorAll(".dhx_form_repeat_custom_week input").forEach(A=>A.checked=!1),S&&S.byweekday)S.byweekday.forEach(A=>{const C=y[A.weekday],$=f[C],H=E.querySelector(`.dhx_form_repeat_custom_week input[value="${$}"]`);H&&(H.checked=!0)});else{const A=f[T.start_date.getDay()],C=E.querySelector(`.dhx_form_repeat_custom_week input[value="${A}"]`);C&&(C.checked=!0)}}(m,x,b),function(E,S,T){w(E,S);const A=E.querySelector('.dhx_form_repeat_custom_month [value="month_date"]'),C=E.querySelector('.dhx_form_repeat_custom_month [value="month_nth_weekday"]');if(A&&C){A.innerText=e.templates.repeat_monthly_date(T.start_date,T),C.innerText=e.templates.repeat_monthly_weekday(T.start_date,T);const $=E.querySelector('[name="dhx_custom_month_option"]');$&&($.value=!S||!S.bysetpos||S.byweekday&&S.byweekday.length?"month_nth_weekday":"month_date")}}(m,x,b),function(E,S,T){const A=E.querySelector('.dhx_form_repeat_custom_year [value="month_date"]'),C=E.querySelector('.dhx_form_repeat_custom_year [value="month_nth_weekday"]');A&&C&&(A.innerText=e.templates.repeat_yearly_month_date(T.start_date,T),C.innerText=e.templates.repeat_yearly_month_weekday(T.start_date,T),S&&(!S.bysetpos||S.byweekday&&S.byweekday.length)?E.querySelector('[name="dhx_custom_year_option"]').value="month_nth_weekday":E.querySelector('[name="dhx_custom_year_option"]').value="month_date")}(m,x,b),function(E,S,T){const A=E.querySelector('.dhx_form_repeat_ends_extra [name="dhx_form_repeat_ends_after"]'),C=E.querySelector('.dhx_form_repeat_ends_extra [name="dhx_form_repeat_ends_ondate"]'),$=E.querySelector("[name='dhx_custom_repeat_ends']");if(A&&C&&$){A.value=1;let H=e.date.date_to_str("%Y-%m-%d");e.config.repeat_date_of_end||(e.config.repeat_date_of_end=H(e.date.add(e._currentDate(),30,"day"))),C.value=e.config.repeat_date_of_end,S&&S.count?($.value="AFTER",A.value=S.count):T._end_date&&T._end_date.getFullYear()!==9999?($.value="ON",C.value=H(T._end_date)):$.value="NEVER",$.dispatchEvent(new Event("change"))}}(m,x,b)}function N(m){for(let x=0;x<e.config.lightbox.sections.length;x++){let b=e.config.lightbox.sections[x];if(b.type===m)return e.formSection(b.name)}return null}e.form_blocks.recurring={_get_node:function(m){if(typeof m=="string"){let x=e._lightbox.querySelector(`#${m}`);x||(x=document.getElementById(m)),m=x}return m.style.display=="none"&&(m.style.display=""),m},_outer_html:function(m){return m.outerHTML||function(x){let b,E=document.createElement("div");return E.appendChild(x.cloneNode(!0)),b=E.innerHTML,E=null,b}(m)},render:function(m){if(m.form){let b=e.form_blocks.recurring,E=b._get_node(m.form),S=b._outer_html(E);return E.style.display="none",S}let x=e.locale.labels;return`<div class="dhx_form_rrule">
96 <div class="dhx_form_repeat_pattern">
97 <select>
98 <option value="NEVER">${x.repeat_never}</option>

Callers 1

dhtmlxscheduler.jsFile · 0.70

Calls 3

wFunction · 0.70
date_to_strMethod · 0.65
addMethod · 0.65

Tested by

no test coverage detected