function CMSCalendarCategoryFilter(id,calendarId,template,limit){const container=$("#"+id),filter=container.find(".calendar-categories__filter"),calendarWrapper=container.find(".calendar-categories__calendar"),calendarEvents=container.find(".calendar-categories__events");let request=new Request;this.bindEvent=function(){filter.off("change").on("change",function(){let selected=this.value,calendar=calendarWrapper.find(".calendar");if(calendar){calendar.attr("data-categories-id",selected)}let data={calendarId:calendarId,categoriesId:selected,limit:limit,template:template,csrf_token:getCsrfTokenJs()};request.postPlugin("calendar","GET_EVENT_FROM_CATEGORY",data,function(result){calendarWrapper.html(result.calendarView);calendarEvents.html(result.futureEventListLimitView)})})}}