Current Path : /var/www/axolotl/data/www/yar.axolotls.ru/bitrix/js/calendar/new/ |
Current File : /var/www/axolotl/data/www/yar.axolotls.ru/bitrix/js/calendar/new/calendar-core.min.js |
(function(e){function t(t,i,n){this.DEFAULT_VIEW="month";this.id=t.id;this.showTasks=t.showTasks;this.calDavConnections=t.connections;this.util=new e.BXEventCalendar.Util(this,t,n);if(this.util.isFilterEnabled()){this.search=new e.BXEventCalendar.Search(this,{filterId:t.filterId,counters:t.counters})}this.externalMode=t.externalDataHandleMode;this.entityType=t.entityType||"";this.newEntryName=t.newEntryName||null;this.collapsedLabelMessage=t.collapsedLabelMessage||BX.message("EC_COLLAPSED_MESSAGE");this.viewOption="view"+(this.entityType?"_"+this.entityType:"");this.sectionController=new e.BXEventCalendar.SectionController(this,i,t);this.entryController=new e.BXEventCalendar.EntryController(this,i);this.currentViewName=this.util.getUserOption(this.viewOption)||this.DEFAULT_VIEW;BX.Calendar.CalendarSectionManager.setNewEntrySectionId(this.sectionController.getCurrentSection().id);this.requests={};this.currentUser=t.user;this.ownerUser=t.ownerUser||false;this.viewRangeDate=new Date;this.keyHandlerEnabled=true;this.build();if(!this.externalMode){if(t.startupEvent){this.showStartUpEntry(t.startupEvent)}if(t.showNewEventDialog&&!this.util.readOnlyMode()&&this.entryController.canDo(true,"add_event")){setTimeout(BX.delegate(function(){this.getView().showEditSlider()},this),1e3)}}BX.addCustomEvent("onPullEvent-calendar",function(e,t){})}t.prototype={build:function(){this.mainCont=BX(this.id+"-main-container");if(this.mainCont){this.topBlock=BX.create("DIV",{props:{className:"calendar-top-block"}});this.buildNavigation();this.viewTitleContainer=this.topBlock.appendChild(BX.create("DIV",{props:{className:"calendar-top-title-container"}}));this.viewTitle=this.viewTitleContainer.appendChild(BX.create("H2",{props:{className:"calendar-top-title"}}));this.mainCont.appendChild(this.topBlock);this.viewsCont=BX.create("DIV",{props:{className:"calendar-views-container calendar-disable-select"}});BX.bind(this.viewsCont,"click",this.handleViewsClick.bind(this));this.dragDrop=new e.BXEventCalendar.DragDrop(this);if(this.util.isFilterEnabled()&&!this.search.isFilterEmpty()){this.currentViewName="list"}this.buildViews();this.buildViewSwitcher();if(this.util.isFilterEnabled()){if(!this.search.isFilterEmpty()){this.search.applyFilter()}this.searchCont=BX(this.id+"-search-container");if(this.searchCont){this.buildSearchControll()}}if(!this.isExternalMode()){this.buildTopButtons()}this.mainCont.appendChild(this.viewsCont);this.rightBlock=this.mainCont.appendChild(BX.create("DIV",{props:{className:"calendar-right-container"}}));BX.bind(document.body,"keyup",BX.proxy(this.keyUpHandler,this));BX.addCustomEvent(this,"doRefresh",BX.proxy(this.refresh,this));this.topBlock.appendChild(BX.create("DIV",{style:{clear:"both"}}));this.util.applyHacksHandlersForPopupzIndex();top.BX.addCustomEvent(top,"onCalendarBeforeCustomSliderCreate",BX.proxy(this.loadCssList,this));if(top!==e){if(!top.BX.getClass("top.BX.SocNetLogDestination")){top.BX.loadExt("socnetlogdest")}if(!top.BX.getClass("top.BX.Access")){top.BX.loadExt("access")}}BX.Event.EventEmitter.subscribe("BX.Calendar.EventEditForm:onSave",function(e){if(e instanceof BX.Event.BaseEvent){var t=e.getData();if(t.options.recursionMode||t.responseData.reload){this.reload()}else if(t.responseData&&BX.Type.isArray(t.responseData.eventList)){this.entryController.handleEntriesList(t.responseData.eventList);this.getView().displayEntries()}}}.bind(this));BX.Event.EventEmitter.subscribe("BX.Calendar.Entry:onChangeMeetingStatus",function(e){if(e instanceof BX.Event.BaseEvent){this.reload()}}.bind(this))}},buildViews:function(){var t=this.util.getAvilableViews(),i={day:e.BXEventCalendar.CalendarDayView,week:e.BXEventCalendar.CalendarWeekView,month:e.BXEventCalendar.CalendarMonthView,list:e.BXEventCalendar.CalendarListView};this.views=[];if(BX.type.isArray(t)){t.forEach(function(e){if(e&&i[e]){this.views.push(new i[e](this))}},this)}var n=this.util.getCustumViews();if(BX.type.isArray(n)){n.forEach(function(t){this.views.push(new e.BXEventCalendar.CalendarCustomView(this,t))},this)}BX.addCustomEvent(this,"keyup",function(e){if(BX.Calendar&&BX.Calendar.Util){this.views.forEach(function(t){if(t.getHotkey()&&BX.Calendar.Util.getKeyCode(t.getHotkey())===e.keyCode){BX.Calendar.Util.sendAnalyticLabel({viewMode:"hotkey",viewType:t.getName()});this.setView(t.getName(),{animation:true})}},this)}}.bind(this));BX.onCustomEvent(e,"onCalendarBeforeBuildViews",[this.views,this]);this.views.forEach(this.buildView,this);this.viewTransition=new e.BXEventCalendar.ViewTransition(this);BX.onCustomEvent(e,"onCalendarAfterBuildViews",[this])},buildNavigation:function(){this.navigationWrap=this.topBlock.appendChild(BX.create("DIV",{props:{className:"calendar-navigation-container"}}));this.navigationWrap.appendChild(BX.create("SPAN",{props:{className:"calendar-navigation-previous"},events:{click:BX.delegate(this.showPrevious,this)}}));this.navigationWrap.appendChild(BX.create("SPAN",{props:{className:"calendar-navigation-current"},text:BX.message("EC_TODAY"),events:{click:BX.delegate(this.showToday,this)}}));this.navigationWrap.appendChild(BX.create("SPAN",{props:{className:"calendar-navigation-next"},events:{click:BX.delegate(this.showNext,this)}}))},showNext:function(){var e=this.getView().increaseViewRangeDate();if(e){this.triggerEvent("changeViewDate",{viewRange:e})}},showPrevious:function(){var e=this.getView().decreaseViewRangeDate();if(e){this.triggerEvent("changeViewDate",{viewRange:e})}},showToday:function(){var e=this.getView(),t=e.adjustViewRangeToDate(new Date);if(t){this.triggerEvent("changeViewDate",{viewRange:t})}},buildView:function(e){var t=e.getContainer();if(t){this.viewsCont.appendChild(t)}if(this.currentViewName===e.getName()){this.setView(e.getName(),{first:true})}},buildViewSwitcher:function(){var e=[];var t=null;this.views.forEach(function(t){e.push({name:t.name,text:t.title||t.name,type:"base",dataset:null,hotkey:t.getHotkey()})},this);if(BX.type.isArray(this.util.config.additionalViewModes)){this.util.config.additionalViewModes.forEach(function(i){e.push({name:i.id,text:BX.util.htmlspecialchars(i.label),type:"additional",dataset:i});if(i.selected){t=i.id}},this)}this.viewSelector=new BX.Calendar.Controls.ViewSelector({views:e,currentView:this.getView(),currentViewMode:t});this.viewSelector.subscribe("onChange",function(e){var t=e.getData();if(t&&t.name){if(t.type==="base"){this.setView(t.name,{animation:true});BX.Calendar.Util.sendAnalyticLabel({viewMode:"selector",viewType:t.name})}else if(t.type==="additional"){this.triggerEvent("changeViewMode",t.dataset)}}}.bind(this));this.topBlock.appendChild(this.viewSelector.getOuterWrap());this.lineViewSelectorWrap=BX(this.id+"-view-switcher-container");if(this.lineViewSelectorWrap){this.lineViewSelector=new BX.Calendar.Controls.LineViewSelector({views:e,currentView:this.getView(),currentViewMode:t});this.lineViewSelectorWrap.appendChild(this.lineViewSelector.getOuterWrap());this.lineViewSelector.subscribe("onChange",function(e){var t=e.getData();if(t&&t.name){if(t.type==="base"){this.setView(t.name,{animation:true});BX.Calendar.Util.sendAnalyticLabel({viewMode:"topmenu",viewType:t.name})}}}.bind(this))}},setView:function(e,t){if(e){if(!t){t={}}var i=this.getView(),n=i.getViewRange(),a=this.getView(e);if(this.viewSelector){this.viewSelector.setValue(a);this.viewSelector.closePopup()}if(this.lineViewSelector){this.lineViewSelector.setValue(a)}if(a&&(e!==this.currentViewName||!i.getIsBuilt())){t.currentViewDate=this.getViewRangeDate();if(a==="day"&&BX.type.isDate(t.date)){t.newViewDate=t.date}else{t.newViewDate=a.getAdjustedDate(t.date||false,n,true)}t.currentView=i;t.newView=a;this.setViewRangeDate(t.newViewDate);this.triggerEvent("beforeSetView",{currentViewName:this.currentViewName,newViewName:e});if(i.type==="custom"||a.type==="custom"){t.animation=false}if(t.animation){this.viewTransition.transit(t)}else{if(e!==this.currentViewName){i.hide()}if(t.first===true){this.initialViewShow=true;a.adjustViewRangeToDate(t.newViewDate)}else{a.adjustViewRangeToDate(t.newViewDate)}this.currentViewName=a.getName()}if(t.first!==true){this.util.setUserOption(this.viewOption,e)}this.triggerEvent("afterSetView",{viewName:e})}}},buildCounters:function(){},registerEventHandlers:function(){},request:function(e){if(!e.url)e.url=this.util.getActionUrl();if(e.bIter!==false)e.bIter=true;if(!e.data)e.data={};var t;e.reqId=t=Math.round(Math.random()*1e6);e.data.sessid=BX.bitrix_sessid();e.data.bx_event_calendar_request="Y";e.data.reqId=t;var i=this,n=0,a;if(e.handler){a=function(a){var s=function(){if(i.requests[t].status!=="canceled"){var r=a.toLowerCase().indexOf("bx_event_calendar_action_error");if(!a||a.length<=0||r!==-1){var o="";if(r>=0){var l=r+"BX_EVENT_CALENDAR_ACTION_ERROR:".length,d=a.indexOf("--\x3e",l);o=a.substr(l,d-l)}if(BX.type.isFunction(e.onerror)){e.onerror()}return i.displayError(o||e.errorText||"")}i.requests[t].status="complete";var h=e.handler(i.getRequestResult(t),a);if(h===false&&++n<20&&e.bIter){setTimeout(s,5)}else{delete top.BXCRES[t]}}};setTimeout(s,50)}}else{a=BX.DoNothing()}this.requests[e.reqId]={status:"sent",xhr:e.type==="post"?BX.ajax.post(e.url,e.data,a):BX.ajax.get(e.url,e.data,a)};return e},cancelRequest:function(e){if(this.requests[e]&&this.requests[e].status==="sent"){this.requests[e].status="canceled"}},getRequestResult:function(e){if(top.BXCRES&&typeof top.BXCRES[e]!="undefined"){return top.BXCRES[e]}return{}},displayError:function(e,t){if(BX.type.isArray(e)&&e.length>0){var i="",n=e;for(var a=0;a<n.length;a++){i+=n[a].message+"\n"}e=i}var s=this;setTimeout(function(){if(!s.bOnunload){alert(e||"[Bitrix Calendar] Request error");if(t){BX.reload()}}},200)},triggerEvent:function(e,t){BX.onCustomEvent(this,e,[t])},getView:function(e){e=e||this.currentViewName;for(var t=0;t<this.views.length;t++){if(this.views[t].getName()===e){return this.views[t]}}return this.views[0]},getViewRangeDate:function(){if(!this.viewRangeDate)this.viewRangeDate=new Date;this.viewRangeDate.setHours(0,0,0,0);return this.viewRangeDate},setViewRangeDate:function(e){this.viewRangeDate=e;this.triggerEvent("changeViewRange",e)},getDisplayedViewRange:function(){return this.displayedRange},setDisplayedViewRange:function(e){this.displayedRange=e},handleViewsClick:function(e){var t=e.target||e.srcElement,i=this.util.findTargetNode(t,this.viewsCont);if(i){if(i.getAttribute("data-bx-calendar-weeknumber")){this.setView("week",{date:new Date(parseInt(i.getAttribute("data-bx-cal-time"))),animation:true})}else if(i.getAttribute("data-bx-calendar-date")){this.setView("day",{date:new Date(parseInt(i.getAttribute("data-bx-calendar-date"))),animation:true})}this.triggerEvent("viewOnClick",{e:e,target:t,specialTarget:i})}},handleViewsMousedown:function(e){var t=e.target||e.srcElement,i=this.util.findTargetNode(t,this.viewsCont);if(i){this.triggerEvent("viewOnMouseDown",{e:e,target:t,specialTarget:i})}},disableKeyHandler:function(){this.keyHandlerEnabled=false},enableKeyHandler:function(){this.keyHandlerEnabled=true},isKeyHandlerEnabled:function(e){var t=e.target||e.srcElement;if(t&&BX.Type.isDomNode(t)){if({INPUT:true,TEXTAREA:true}[t.nodeName]){return false}}var i=this.keyHandlerEnabled&&!BX.hasClass(document.body,"bx-im-fullscreen-block-scroll")&&!BX.hasClass(document.body,"side-panel-disable-scrollbar");if(i){var n,a=document.body.querySelectorAll(".popup-window");for(n=0;n<a.length;n++){if(a[n]&&a[n].style.display!=="none"&&!BX.hasClass(a[n],"calendar-view-switcher-popup")){i=false;break}}}return i},keyUpHandler:function(e){if(this.isKeyHandlerEnabled(e)){var t=this.util.getKeyCodes(),i=e.keyCode;if(i===t["escape"]){this.getView().deselectEntry()}else if(i===t["delete"]){var n=this.getView().getSelectedEntry();if(n){this.entryController.deleteEntry(n)}}if(i===t["left"]){this.showPrevious()}else if(i===t["right"]){this.showNext()}this.triggerEvent("keyup",{e:e,keyCode:i})}},buildSearchControll:function(){this.countersCont=BX(this.id+"-counter-container");if(!this.countersCont){this.countersCont=this.mainCont.appendChild(BX.create("DIV",{props:{className:"calendar-counter-container"},attrs:{id:this.id+"-counter-container"}}))}BX.addClass(this.countersCont,"calendar-counter");this.search.updateCounters()},buildTopButtons:function(){this.buttonsCont=BX(this.id+"-buttons-container");if(this.buttonsCont){this.sectionButton=this.buttonsCont.appendChild(BX.create("button",{props:{className:"ui-btn ui-btn-light-border ui-btn-themes",type:"button"},text:BX.message("EC_SECTION_BUTTON")}));new e.BXEventCalendar.SectionSlider({calendar:this,button:this.sectionButton});if(this.util.userIsOwner()){this.syncButton=this.buttonsCont.appendChild(BX.create("button",{props:{className:"ui-btn ui-btn-icon-business ui-btn-light-border ui-btn-themes",type:"button"}}));this.syncSlider=new e.BXEventCalendar.SyncSlider({calendar:this,button:this.syncButton})}if(this.util.userIsOwner()||this.util.config.TYPE_ACCESS){this.addButton=new e.BXEventCalendar.SettingsMenu({calendar:this,wrap:this.buttonsCont,showMarketPlace:false})}var t=BX(this.id+"-add-button-container");if(!this.util.readOnlyMode()&&BX.Type.isDomNode(t)){t.appendChild(new BX.Calendar.Controls.AddButton({addEntry:function(){BX.Calendar.EntryManager.openEditSlider({type:this.util.type,ownerId:this.util.ownerId,userId:parseInt(this.currentUser.id)})}.bind(this),addTask:this.showTasks?function(){BX.SidePanel.Instance.open(this.util.getEditTaskPath(),{loader:"task-new-loader"})}.bind(this):null}).getWrap())}}},refresh:function(){this.triggerEvent("beforeRefresh");this.getView().refresh();this.triggerEvent("afterRefresh")},reload:function(e){this.triggerEvent("beforeReload");if(e&&e.syncGoogle){this.reloadGoogle=true}this.entryController.clearLoadIndexCache();this.refresh();this.triggerEvent("afterReload")},showStartUpEntry:function(e){BX.Calendar.EntryManager.openViewSlider(e.ID,{from:BX.Calendar.Util.parseDate(e["~CURRENT_DATE"]),timezoneOffset:e.TZ_OFFSET_FROM||null})},isExternalMode:function(){return this.externalMode},showLoader:function(){if(this.viewsCont){if(this.entryLoaderNode){BX.remove(this.entryLoaderNode)}this.entryLoaderNode=this.viewsCont.appendChild(BX.adjust(this.util.getLoader(200),{props:{className:"calendar-entry-loader"}}))}},hideLoader:function(){if(this.entryLoaderNode){BX.addClass(this.entryLoaderNode,"hide");setTimeout(BX.delegate(function(){BX.remove(this.entryLoaderNode)},this),300)}},getCurrentViewName:function(){return this.currentViewName},loadCssList:function(){if(e.top&&e.top.BX){e.top.BX.loadCSS(["/bitrix/components/bitrix/calendar.grid/templates/.default/style.css","/bitrix/js/calendar/new/calendar.css","/bitrix/js/calendar/cal-style.css"])}}};if(e.BXEventCalendar){e.BXEventCalendar.Core=t}else{BX.addCustomEvent(e,"onBXEventCalendarInit",function(){e.BXEventCalendar.Core=t})}})(window); //# sourceMappingURL=calendar-core.map.js