%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/js/calendar/new/ |
Current File : /home/bitrix/www/bitrix/js/calendar/new/calendar-view.min.js |
(function(e){function t(e){this.calendar=e;this.util=e.util;this.entryController=e.entryController;this.name="#calendar view#";this.title=this.name;this.enabled=true;this.contClassName="";this.isBuilt=false;this.animateClass="calendar-grid-animate";this.collapseOffHours=this.util.getUserOption("collapseOffHours","Y")=="Y";this.entries=[];this.entriesIndex={};BX.addCustomEvent(this.calendar,"viewOnClick",BX.proxy(this.handleClick,this))}t.prototype={build:function(){this.viewCont=BX.create("DIV",{props:{className:this.contClassName}})},show:function(){if(!this.isBuilt){this.build();this.isBuilt=true}this.viewCont.style.display="";this.setTitle("")},refresh:function(){this.displayEntries()},hide:function(){this.viewCont.style.display="none"},getName:function(){return this.name},getContainer:function(){return this.viewCont},setTitle:function(e){this.calendar.viewTitle.innerHTML=e.replace("#GRAY_START#",'<span class="calendar-top-title-gray">').replace("#GRAY_END#","</span>")},getIsBuilt:function(){return this.isBuilt},fadeAnimation:function(e,t,i){new BX.easing({duration:t||200,start:{opacity:100},finish:{opacity:0},transition:BX.easing.makeEaseOut(BX.easing.transitions.quad),step:function(t){e.style.opacity=t.opacity/100},complete:function(){if(i&&BX.type.isFunction(i))i()}}).animate()},showAnimation:function(e,t,i){new BX.easing({duration:t||200,start:{opacity:0},finish:{opacity:100},transition:BX.easing.makeEaseOut(BX.easing.transitions.quad),step:function(t){e.style.opacity=t.opacity/100},complete:function(){e.removeAttribute("style");if(i&&BX.type.isFunction(i))i()}}).animate()},getArrow:function(e,t,i){var a=BX.util.urlencode(t),n=i?BX.util.urlencode(t):"none",s="",r;if(e=="left"){r=BX.create("DIV",{props:{className:"calendar-event-angle-start-yesterday"}});s="url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2215px%22%20height%3D%2218px%22%20viewBox%3D%220%200%2015%2018%22%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cpath%20fill%3D%22"+n+"%22%20stroke%3D%22"+a+"%22%20stroke-width%3D%221%22%20d%3D%22M14.5%2C17.5%20L14.5%2C0.5%20L2.00049088%2C0.5%20C1.78697323%2C0.5%201.57591593%2C0.545584%201.38143042%2C0.633704227%20C0.626846099%2C0.975601882%200.292297457%2C1.86447615%200.634195112%2C2.61906047%20L3.05787308%2C7.96823256%20C3.35499359%2C8.62399158%203.35499359%2C9.37600842%203.05787308%2C10.0317674%20L0.634195112%2C15.3809395%20C0.546074885%2C15.575425%200.500490885%2C15.7864823%200.500490885%2C16%20C0.500490885%2C16.8284271%201.17206376%2C17.5%202.00049088%2C17.5%20L14.5%2C17.5%20Z%22/%3E%0A%3C/svg%3E)"}else{r=BX.create("DIV",{props:{className:"calendar-event-angle-finish-tomorrow"}});s="url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2215px%22%20height%3D%2218px%22%20viewBox%3D%220%200%2015%2018%22%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cpath%20fill%3D%22"+n+"%22%20stroke%3D%22"+a+"%22%20stroke-width%3D%221%22%20d%3D%22M0.5%2C0.5%20L0.5%2C17.5%20L8.7031205%2C17.5%20C9.65559352%2C17.5%2010.5253145%2C16.9587787%2010.9460243%2C16.1042565%20L13.8991717%2C10.1059895%20C14.2418971%2C9.40986472%2014.2419701%2C8.59406382%2013.8993692%2C7.89787777%20L10.9458495%2C1.89614482%20C10.5252214%2C1.04140271%209.65538246%2C0.5%208.70274816%2C0.5%20L0.5%2C0.5%20Z%22/%3E%0A%3C/svg%3E)"}r.style.backgroundImage=s;return r},occupySlot:function(e){if(this.days){var t;for(t=e.startIndex;t<e.endIndex;t++){if(this.days[t]){this.days[t].slots[e.slotIndex]=false}}}},showSimplePopup:function(t){if(this.calendar.isExternalMode()){this.calendar.triggerEvent("createNewEntry",t);setTimeout(BX.delegate(function(){if(t.closeCallback&&typeof t.closeCallback=="function"){t.closeCallback()}},this),300);return}if(!this.simpleEntryPopup){this.simpleEntryPopup=new e.BXEventCalendar.SimpleAddPopup(this.calendar)}this.simpleEntryPopup.show(t)},showSimpleViewPopup:function(t){if(!this.simpleViewPopup){this.simpleViewPopup=new e.BXEventCalendar.SimpleViewPopup(this.calendar)}else if(this.simpleViewPopup.isShown()){this.simpleViewPopup.close()}this.simpleViewPopup.show(t)},showEditSlider:function(t){if(this.simpleViewPopup){this.simpleViewPopup.close()}if(!t||!t.entry){t={}}if(this.simpleEntryPopup){t.newEntryData=this.simpleEntryPopup.getPopupData();this.simpleEntryPopup.close()}if(!this.calendar.editSlider){this.calendar.editSlider=new e.BXEventCalendar.EditEntrySlider(this.calendar)}this.calendar.editSlider.show(t)},handleEntryClick:function(e){e.entry=e.entry||this.getEntryById(e.uid);if(this.calendar.isExternalMode()){return this.calendar.triggerEvent("entryClick",e)}if(e.entry.isSelected()){if(e.entry.isTask()){BX.SidePanel.Instance.open(this.calendar.util.getViewTaskPath(e.entry.id),{loader:"task-new-loader"})}else{this.showViewSlider({entry:e.entry})}}this.selectEntry(e.entry);if(this.name=="week"||this.name=="month"){this.showSimpleViewPopup(e)}},showViewSlider:function(t){if(!this.calendar.util.useViewSlider()){return}if(!this.calendar.viewSlider){this.calendar.viewSlider=new e.BXEventCalendar.ViewEntrySlider(this.calendar)}this.calendar.viewSlider.show(t);if(this.simpleViewPopup){this.simpleViewPopup.close()}setTimeout(BX.delegate(function(){if(this.simpleViewPopup){this.simpleViewPopup.close()}},this),200)},isActive:function(){return this.calendar.currentViewName===this.name},getEntryById:function(e){if(e&&this.entriesIndex[e]!==undefined&&this.entries[this.entriesIndex[e]])return this.entries[this.entriesIndex[e]];return false},selectEntry:function(e){if(e&&e.parts){if(this.selectedEntry)this.deselectEntry();if(e.select)e.select();e.parts.forEach(function(t){t.params=this.selectEntryPart(t.params,e.color,e.isExpired())},this);this.selectedEntry=e;if(this.name!=="week"&&this.name!=="month"){this.showAdditionalInfo(e)}}},selectEntryPart:function(e,t){if(e.wrapNode){e.backupWrapZIndex=e.wrapNode.style.zIndex||"";e.wrapNode.style.zIndex=4e3;e.backupWrapNodeClass=e.wrapNode.className;BX.addClass(e.wrapNode,"calendar-event-line-fill");BX.addClass(e.wrapNode,"active")}if(e.blockBackgroundNode){e.backupBlockOpacity=e.blockBackgroundNode.style.opacity;e.blockBackgroundNode.style.opacity=1}if(e.innerContainer){e.backupBackground=e.innerContainer.style.background;e.backupBorderColor=e.innerContainer.style.borderColor;e.innerContainer.style.backgroundColor=t;e.innerContainer.style.borderColor=t}if(e.nameNode){e.backupNameColor=e.nameNode.style.color;e.nameNode.style.color="#fff"}if(e.timeNode){e.backupTimeColor=e.timeNode.style.color;e.backupTimeZIndex=e.timeNode.style.zIndex||0;e.timeNode.style.color="#fff";e.timeNode.style.zIndex=200}return e},deselectEntry:function(e){if(!e&&this.selectedEntry)e=this.selectedEntry;if(e){if(e.deselect)e.deselect();e.parts.forEach(function(e){if(e.params.wrapNode){e.params.wrapNode.className=e.params.backupWrapNodeClass;e.params.wrapNode.style.zIndex=e.params.backupWrapZIndex}if(e.params.innerContainer){e.params.innerContainer.style.backgroundColor=e.params.backupBackground;e.params.innerContainer.style.borderColor=e.params.backupBorderColor}if(e.params.blockBackgroundNode){e.params.blockBackgroundNode.style.opacity=e.params.backupBlockOpacity}if(e.params.nameNode){e.params.nameNode.style.color=e.params.backupNameColor}if(e.params.timeNode){e.params.timeNode.style.color=e.params.backupTimeColor;e.params.timeNode.style.zIndex=e.params.backupTimeZIndex}},this)}BX.remove(this.calendar.additionalInfoOuter);this.selectedEntry=false},getSelectedEntry:function(){return this.selectedEntry||false},preloadEntries:function(){},showAllEventsInPopup:function(e){var t,i;t=BX.create("DIV",{props:{className:"calendar-all-events-popup calendar-custom-scroll"},events:{click:BX.proxy(this.calendar.handleViewsClick,this.calendar)}});e.day.entries.list.sort(this.calendar.entryController.sort);var a,n;e.day.entries.list.forEach(function(e){if(e.entry){if(e.entry.isTask()){if(!a){t.appendChild(BX.create("DIV",{props:{className:"calendar-event-title"},text:BX.message("EC_ENTRIES_TASKS")}));a=t.appendChild(BX.create("DIV",{props:{className:"calendar-event-block"}}))}this.displayEntryPiece({entry:e.entry,part:e.part,holder:a,popupMode:true})}else{if(!n){t.appendChild(BX.create("DIV",{props:{className:"calendar-event-title"},text:BX.message("EC_ENTRIES_EVENTS")}));n=t.appendChild(BX.create("DIV",{props:{className:"calendar-event-block"}}))}this.displayEntryPiece({entry:e.entry,part:e.part,holder:n,popupMode:true})}}},this);i=BX.PopupWindowManager.create(this.calendar.id+"-all-events-popup",e.day.hiddenStorage,{autoHide:true,closeByEsc:true,offsetTop:-2,offsetLeft:this.getDayWidth()/2+4,lightShadow:true,content:t});i.setAngle({offset:118});i.show(true);this.allEventsPopup=i;BX.addCustomEvent(i,"onPopupClose",function(){i.destroy()})},showAdditionalInfo:function(t){BX.remove(this.calendar.additionalInfoOuter);this.calendar.additionalInfoOuter=this.calendar.rightBlock.appendChild(BX.create("DIV",{props:{className:"calendar-right-block hide"}}));if(!this.simpleViewPopup)this.simpleViewPopup=new e.BXEventCalendar.SimpleViewPopup(this.calendar);this.calendar.additionalInfoOuter.appendChild(this.simpleViewPopup.createContent({entry:t}))},showNavigationCalendar:function(){setTimeout(BX.delegate(function(){if(this.calendar.rightBlock){if(!this.calendar.navCalendar){this.calendar.navCalendar=new e.BXEventCalendar.NavigationCalendar(this.calendar,{wrap:this.calendar.rightBlock.appendChild(BX.create("DIV",{props:{className:"calendar-right-block"}}))})}if(this.calendar.initialViewShow){BX.addClass(this.calendar.mainCont,"calendar-main-container-small-calendar");this.calendar.initialViewShow=false}this.calendar.navCalendar.show()}},this),0)},getDayWidth:function(){var e=200;if(this.days&&this.days[0]&&this.days[0].node){e=this.days[0].node.offsetWidth||e}return Math.min(e,400)},getAdjustedDate:function(e,t){if(!e){e=new Date}if(t&&e.getTime()<t.start.getTime()){e=new Date(t.start.getTime())}if(t&&e.getTime()>t.end.getTime()){e=new Date(t.end.getTime())}var i=false;if(e&&e.getTime){e.setHours(0,0,0,0);i=new Date(e.getTime())}return i},getViewRange:function(){var e=this.calendar.getViewRangeDate(),t=new Date(e.getTime());return{start:e,end:t}}};function i(e){t.apply(this,arguments);this.name="year";this.title=BX.message("EC_VIEW_YEAR");this.contClassName="calendar-year-view";this.build()}i.prototype=Object.create(t.prototype);i.prototype.constructor=i;if(e.BXEventCalendar){e.BXEventCalendar.CalendarView=t;e.BXEventCalendar.CalendarYearView=i}else{BX.addCustomEvent(e,"onBXEventCalendarInit",function(){e.BXEventCalendar.CalendarView=t;e.BXEventCalendar.CalendarYearView=i})}e.BXEventCalendarView=t})(window);