File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/calendar/install/js/calendar/new/calendar-view-day-week.min.js
Back
(function(e){var t=e.BXEventCalendarView;function i(){t.apply(this,arguments);this.initConfig();this.preBuild()}i.prototype=Object.create(t.prototype);i.prototype.constructor=i;i.prototype.initConfig=function(){this.name="day";this.gridLineHeight=60;this.slotHeight=20;this.title=BX.message("EC_VIEW_DAY");this.entryWidthOffset=2;this.lastEntryWidthOffset=8;this.hotkey="D";this.contClassName="calendar-day-view";this.gridWrapClass="calendar-grid-wrap";this.fullDayContClass="calendar-grid-day-full-days-events-holder";this.fullDayContHolderClass="calendar-grid-week-full-days-events-holder-grid";this.topEntryHolderClass="calendar-grid-day-events-holder";this.outerGridClass="calendar-grid-day-container";this.gridClass="calendar-grid-day";this.gridClassCurrent="calendar-grid-day-current";this.gridClassNext="calendar-grid-day-left-slide";this.gridClassPrevious="calendar-grid-day-right-slide";this.changeNextClass="calendar-change-day-left-slide";this.changePreviousClass="calendar-change-day-right-slide";this.gridRowClass="calendar-grid-day-row";this.gridCellClass="calendar-grid-day-cell";this.gridTimelinesClass="calendar-grid-day-time-lines";this.gridTimelineHourClass="calendar-grid-day-time-line-hour";this.gridTimelineHourLabelClass="calendar-grid-day-time-line-hour-label";this.gridTimelineHourLabelClassInner="calendar-grid-week-time-line-hour-label-inner";this.gridNowTimeClass="calendar-grid-day-time-line-hour-now";this.gridNowTimeLabelClass="calendar-grid-day-time-line-hour-label";this.gridNowTimeLineClass="calendar-grid-day-time-line-hour-now-line";this.gridNowTimeDotClass="calendar-grid-day-time-line-hour-now-dot";this.gridTimeTranslucentClass="calendar-grid-time-line-translucent";this.offHoursClass="calendar-grid-off-hours";this.offHoursCollapseClass="calendar-grid-off-hours-collapse";this.offHoursAnimateClass="calendar-grid-off-hours-animate";this.offHoursFastAnimateClass="calendar-grid-off-hours-fast-animate";this.dayCount=1};i.prototype.preBuild=function(){this.viewCont=BX.create("DIV",{props:{className:this.contClassName},style:{display:"none"}})};i.prototype.build=function(){this.titleCont=this.viewCont.appendChild(BX.create("DIV",{props:{className:"calendar-grid-week-row-days-week"}}));var e=this.util.getWorkTime();this.checkTimelineScroll(!this.collapseOffHours||(e.end-e.start)*this.gridLineHeight+20>this.util.getViewHeight());this.fullDayEventsCont=this.viewCont.appendChild(BX.create("DIV",{props:{className:this.fullDayContClass}}));this.gridWrap=this.viewCont.appendChild(BX.create("DIV",{props:{className:this.gridWrapClass},style:{height:this.util.getViewHeight()+"px"}}));this.outerGrid=this.gridWrap.appendChild(BX.create("DIV",{props:{className:this.outerGridClass}}));this.grid=this.outerGrid.appendChild(BX.create("DIV",{props:{className:this.gridClass+" "+this.gridClassCurrent}}));BX.bind(this.gridWrap,"mousedown",BX.proxy(this.handleMousedown,this))};i.prototype.show=function(){t.prototype.show.apply(this,arguments);this.buildDaysGrid();this.showNavigationCalendar();BX.remove(this.calendar.additionalInfoOuter);this.displayEntries()};i.prototype.hide=function(){t.prototype.hide.apply(this,arguments)};i.prototype.setFullDayHolderSize=function(e){this.fullDayEventsCont.style.height=e*(this.slotHeight+1)+"px"};i.prototype.increaseViewRangeDate=function(){this.changeViewRangeDate(this.dayCount);this.setTitle();if(this.gridWrap)this.gridWrap.style.overflowX="hidden";var e=this.outerGrid.appendChild(BX.create("DIV",{props:{className:this.gridClass+" "+this.gridClassNext+" "+this.animateClass}}));BX.addClass(this.grid,this.animateClass);this.buildDaysGrid({grid:e});this.preloadEntries();setTimeout(BX.delegate(function(){BX.addClass(this.outerGrid,this.changeNextClass);setTimeout(BX.delegate(function(){BX.removeClass(this.outerGrid,this.changeNextClass);BX.removeClass(e,this.gridClassNext);BX.addClass(e,this.gridClassCurrent);BX.remove(this.grid);this.grid=e;BX.removeClass(this.grid,this.animateClass);this.gridWrap.style.overflowX="";this.displayEntries()},this),400)},this),0)};i.prototype.decreaseViewRangeDate=function(){this.changeViewRangeDate(-this.dayCount);this.setTitle();this.gridWrap.style.overflowX="hidden";var e=this.outerGrid.appendChild(BX.create("DIV",{props:{className:this.gridClass+" "+this.gridClassPrevious+" "+this.animateClass}}));BX.addClass(this.grid,this.animateClass);this.buildDaysGrid({grid:e});setTimeout(BX.delegate(function(){BX.addClass(this.outerGrid,this.changePreviousClass);setTimeout(BX.delegate(function(){BX.removeClass(this.outerGrid,this.changePreviousClass);BX.removeClass(e,this.gridClassPrevious);BX.addClass(e,this.gridClassCurrent);BX.remove(this.grid);this.grid=e;BX.removeClass(this.grid,this.animateClass);this.gridWrap.style.overflowX="";this.displayEntries()},this),400)},this),0)};i.prototype.changeViewRangeDate=function(e){var t=this.calendar.getViewRangeDate(),i=new Date(t.getTime());i.setDate(i.getDate()+e);this.calendar.setViewRangeDate(i);return i};i.prototype.getViewRange=function(){var e=this.calendar.getViewRangeDate(),t=new Date(e.getTime());t.setDate(t.getDate()+this.dayCount);return{start:e,end:t}};i.prototype.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};i.prototype.adjustViewRangeToDate=function(e,t){var i=this.calendar.getViewRangeDate(),s=false;if(e&&e.getTime){e.setHours(0,0,0,0);var a=(e.getTime()-i.getTime())/this.calendar.util.dayLength;if(a===this.dayCount){this.increaseViewRangeDate()}else if(a===-this.dayCount){this.decreaseViewRangeDate()}else{s=new Date(e.getTime());s.setHours(0,0,0,0);this.calendar.setViewRangeDate(s);if(t===false){this.show()}else{this.fadeAnimation(this.getContainer(),100,BX.delegate(function(){this.show();this.getContainer().style.opacity=0;this.showAnimation(this.getContainer(),300)},this))}}}return s};i.prototype.buildDaysGrid=function(e){if(!e)e={};var t,i,s=e.grid||this.grid,a=this.calendar.getViewRangeDate(),r=new Date(a.getTime());var o=BX.clone(this.getViewRange(),true);if(this.dayCount>1){r=this.getAdjustedDate(r)}BX.cleanNode(s);BX.cleanNode(this.fullDayEventsCont);this.holderTitle=this.fullDayEventsCont.appendChild(BX.create("DIV",{props:{className:"calendar-grid-day-full-days-events-holder-title"},text:BX.message("EC_VIEW_DAY")}));this.fullDayEventsHolderCont=this.fullDayEventsCont.appendChild(BX.create("DIV",{props:{className:this.fullDayContHolderClass}}));this.topEntryHolder=this.fullDayEventsCont.appendChild(BX.create("DIV",{props:{className:this.topEntryHolderClass}}));this.gridRow=s.appendChild(BX.create("DIV",{props:{className:this.gridRowClass+" "+this.animateClass},style:{height:this.getDayGridHeight()+"px"}}));this.dayIndex={};this.days=[];if(this.titleCont){BX.cleanNode(this.titleCont)}this.gridRowShadow=BX.create("DIV",{props:{className:"calendar-grid-week-row-shadow"}});for(t=0;t<this.dayCount;t++){if(t===0){o.start=new Date(r.getTime());o.start.setHours(0,0,0,0)}else if(t===this.dayCount-1){o.end=new Date(r.getTime());o.end.setHours(0,0,0,0)}i=this.util.getDayCode(r);this.fullDayEventsHolderCont.appendChild(BX.create("DIV",{attrs:{"data-bx-calendar-week-day":i},props:{className:this.gridCellClass}}));this.buildDayCell({date:r,month:"previous",grid:s});if(this.dayCount>1){r.setDate(r.getDate()+1)}this.gridRowShadow.appendChild(BX.create("DIV",{attrs:{"data-bx-calendar-timeline-day":i},props:{className:"calendar-grid-week-cell"},html:'<span class="calendar-grid-cell-inner"></span>'}))}this.timeLinesCont=this.gridRow.appendChild(BX.create("DIV",{props:{className:this.gridTimelinesClass}}));this.timelineEntryHolder=this.gridRow.appendChild(BX.create("DIV",{props:{className:this.topEntryHolderClass}}));this.timeLinesIndex=[];for(t=0;t<=24;t++){this.timeLinesIndex[t]=this.timeLinesCont.appendChild(BX.create("DIV",{props:{className:this.gridTimelineHourClass},html:'<div class="'+this.gridTimelineHourLabelClass+'">'+this.calendar.util.formatTime(t,0,true)+"</div>",style:{top:t*this.gridLineHeight+"px"}}))}this.gridRow.appendChild(this.gridRowShadow);setTimeout(BX.delegate(function(){if(!this.gridWrap.scrollTop&&!this.collapseOffHours){var e=this.util.getWorkTime();this.gridWrap.scrollTop=e.start*this.gridLineHeight-5}},this),0);this.showOffHours();this.calendar.setDisplayedViewRange(o);this.showNowTime(this.gridRow);this.gridRow.appendChild(BX.create("DIV",{props:{className:"calendar-grid-day-events-holder"}}))};i.prototype.buildDayCell=function(e){var t=e.date,i="",s="",a=Math.round(t.getTime()/1e3)*1e3,r=t.getDay(),o=this.util.getDayCode(t),n=this.util.getWeekDayByInd(r);if(e.month==="previous"){s+=" calendar-grid-previous-month-day"}else if(e.month==="next"){s+=" calendar-grid-next-month-day"}if(this.util.isHoliday(t)){s+=" calendar-grid-holiday"}if(this.util.isToday(t)){i+=" calendar-grid-today"}if(this.titleCont&&this.name==="week"){this.titleCont.appendChild(BX.create("DIV",{props:{className:this.gridCellClass+i},html:'<span class="calendar-grid-cell-inner" data-bx-calendar-date="'+a+'">'+BX.message("EC_WEEK_TITLE").replace("#DAY_OF_WEEK#",BX.date.format("D",a/1e3)).replace("#DATE#",t.getDate())+"</span>"}))}else if(this.titleCont){this.titleCont.appendChild(BX.create("DIV",{props:{className:this.gridCellClass+i},html:'<span class="calendar-grid-cell-inner" data-bx-calendar-date="'+a+'">'+'<span class="calendar-day-of-week-day">'+BX.date.format("l",a/1e3)+"</span>"+"</span>"}))}this.days.push({date:new Date(t.getTime()),dayOffset:this.util.getWeekDayOffset(n),node:this.gridRow.appendChild(BX.create("DIV",{attrs:{"data-bx-calendar-timeline-day":o},props:{className:this.gridCellClass+s+" a1"},html:'<span class="calendar-grid-cell-inner"></span>'})),dayCode:o});this.dayIndex[this.days[this.days.length-1].dayCode]=this.days.length-1;this.calendar.dragDrop.registerTimelineDay(this.days[this.days.length-1])};i.prototype.setTitle=function(){var e=this.calendar.getViewRangeDate(),i=e.getTime()/1e3;t.prototype.setTitle.apply(this,[BX.date.format(BX.message("EC_DATE_FORMAT_1_MAY"),i)+" #GRAY_START#"+BX.date.format("Y",i)+"#GRAY_END#"])};i.prototype.displayEntries=function(e){var t,i,s,a,r,o,n=0,l=this.getViewRange();if(!e)e={};if(e.reloadEntries!==false){this.entries=this.entryController.getList({showLoader:!!(this.entries&&!this.entries.length),startDate:new Date(l.start.getFullYear(),l.start.getMonth(),1),finishDate:new Date(l.end.getFullYear(),l.end.getMonth()+1,1),viewRange:l,finishCallback:BX.proxy(this.displayEntries,this)});if(this.entries===false){return}}this.partsStorage=[];this.timelinePartsStorage=[];BX.cleanNode(this.topEntryHolder);BX.cleanNode(this.timelineEntryHolder);this.fullDayEventsCont.style.height="";this.days.forEach(function(e){e.slots=[];e.timelineMap={};if(e.collapsedWrap&&e.collapsedWrap.top){e.collapsedWrap.top.destroy()}if(e.collapsedWrap&&e.collapsedWrap.bottom){e.collapsedWrap.bottom.destroy()}e.collapsedWrap={top:null,bottom:null};e.entries={topList:[],started:[],timeline:[],hidden:[]}});if(this.entries&&this.entries.length){for(t=0;t<this.entries.length;t++){i=this.entries[t];this.entriesIndex[i.uid]=t;i.cleanParts();o=false;for(a=this.dayIndex[i.startDayCode];a<this.days.length;a++){r=this.days[a];if(!i.isLongWithTime()&&r.dayCode===i.startDayCode&&r.dayCode===i.endDayCode&&!i.fullDay){s=i.startPart({from:r,to:r,daysCount:0,fromTimeValue:this.util.getTimeValue(i.from),toTimeValue:this.util.getTimeValue(i.to)});r.entries.timeline.push({entry:i,part:s});this.timelinePartsStorage.push({part:s,entry:i});break}else{if(r.dayCode===i.startDayCode){o=true;s=i.startPart({from:r,daysCount:0});r.entries.started.push({entry:i,part:s})}if(o){r.entries.topList.push({entry:i,part:s});s.daysCount++;s.to=r;if(r.entries.topList.length>n)n=r.entries.topList.length;if(r.dayCode===i.endDayCode||r.dayOffset===this.dayCount-1||this.dayCount===1){this.partsStorage.push({part:s,entry:i});if(r.dayCode===i.endDayCode){break}}}}}}}if(this.entries&&this.entries.length){this.displayTopEntries();this.displayTimelineEntries();this.SLOTS_COUNT=10;this.arrangeTopEntries();this.arrangeTimelineEntries()}this.setFullDayHolderSize(Math.min(Math.max(n,1),this.SLOTS_COUNT));var d;for(a=0;a<this.days.length;a++){r=this.days[a];if(r.entries.topList.length>0){d=false;for(t=0;t<r.entries.topList.length;t++){if(r.entries.topList[t].part.params.wrapNode.style.display==="none"){d=true;break}}if(d){r.hiddenStorage=this.topEntryHolder.appendChild(BX.create("DIV",{props:{className:"calendar-event-line-wrap calendar-event-more-btn-container"},attrs:{"data-bx-calendar-show-all-events":r.dayCode},style:{top:parseInt(this.fullDayEventsCont.style.height)-20+"px",left:this.dayCount===1?"0":"calc((100% / "+this.dayCount+") * ("+(r.dayOffset+1)+" - 1) + 2px)",width:"calc(100% / "+this.dayCount+" - 3px)"}}));r.hiddenStorageText=r.hiddenStorage.appendChild(BX.create("span",{props:{className:"calendar-event-more-btn"}}));r.hiddenStorage.style.display="block";r.hiddenStorageText.innerHTML=BX.message("EC_SHOW_ALL")+" "+r.entries.topList.length}else if(r.hiddenStorage){r.hiddenStorage.style.display="none"}}}BX.addClass(this.grid,"calendar-events-holder-show");BX.addClass(this.fullDayEventsCont,"calendar-events-holder-show");var h=this.util.getWorkTime();this.checkTimelineScroll(!this.collapseOffHours||(h.end-h.start)*this.gridLineHeight+20>this.util.getViewHeight())};i.prototype.arrangeTopEntries=function(){var e,t,i,s,a,r,o,n,l;for(a=0;a<this.days.length;a++){r=this.days[a];if(r.entries.started.length>0){r.entries.started.sort(this.calendar.entryController.sort);for(i=0;i<r.entries.started.length;i++){e=r.entries.started[i];if(e){o=e.entry;n=e.part;if(!o.checkPartIsRegistered(n))continue;l=false;for(s=0;s<this.SLOTS_COUNT;s++){if(r.slots[s]!==false){this.occupySlot({slotIndex:s,startIndex:a,endIndex:a+n.daysCount});l=true;o.getWrap(n.partIndex).style.top=s*this.slotHeight+"px";break}}if(!l){t=r.entries.started[i-1];if(t){r.entries.hidden.push(t);t.entry.getWrap(t.part.partIndex).style.display="none"}r.entries.hidden.push(e);o.getWrap(n.partIndex).style.display="none"}}if(r.hiddenStorage&&r.entries.hidden.length>0){r.hiddenStorageText.innerHTML=BX.message("EC_SHOW_ALL")+" ("+r.entries.topList.length+")"}}}}};i.prototype.arrangeTimelineEntries=function(){var e=30,t=33,i=20,s=40,a=23,r=6,o=2,n,l,d,h,p,f,c,m,u,y,g,C,w,T,v,H,B,x,X;function E(e){var t,i;for(t=e.timeFrom;t<e.timeTo;t++){if(!e.layers[t])e.layers[t]=[];i=e.day.layers[t][e.layerIndex]||{entries:[],start:[]};i.entries.push(e.entryIndex);if(t==e.timeFrom){i.start.push(e.entryIndex);e.entryPart.layerParallels=i.start.length}e.day.layers[t][e.layerIndex]=i}e.entryPart.layerIndex=e.layerIndex}function N(e,t){var i=c.layers[e][t];return i&&i.entries&&i.entries.length===i.start.length}function b(e){return!e}function D(e){var t,i,s,a=[],r={};for(t=e.timeFrom;t<e.timeTo;t++){if(e.layerIndex>0&&e.day.layers[t][e.layerIndex-1]){i=e.day.layers[t][e.layerIndex-1].entries;if(i.length>0){s=i[i.length-1];if(!r[s]){r[s]=true;a.push(s)}}}}return a}function L(t,i){if(!i)i=e;return t.getHours()*60+Math.floor(t.getMinutes()/i)*i}for(f=0;f<this.days.length;f++){c=this.days[f];c.entries.timeline.sort(function(e,t){if(e.part.fromTimeValue===t.part.fromTimeValue){return t.part.toTimeValue-t.part.fromTimeValue-(e.part.toTimeValue-e.part.fromTimeValue)}return e.part.fromTimeValue-t.part.fromTimeValue});n=0;d="";l=0;C=0;c.layers=[];for(h=0;h<c.entries.timeline.length;h++){x=c.entries.timeline[h].entry;X=c.entries.timeline[h].part;y=L(x.from,1);g=L(x.to,1);if(y===g)g+=1;if(!c.layers)c.layers=[];w=0;while(true){if(!c.layers[y]||N(y,w)||b(c.layers[y][w])){E({day:c,timeFrom:y,timeTo:g,layers:c.layers,entryIndex:h,layerIndex:w,entryPart:X});break}w++}}for(h=0;h<c.entries.timeline.length;h++){if(c.entries.timeline[h]){x=c.entries.timeline[h].entry;X=c.entries.timeline[h].part;y=L(x.from,1);g=L(x.to,1);if(y===g)g+=1;if(!x.checkPartIsRegistered(X)||!c.layers[y]||!c.layers[y][X.layerIndex]){continue}u=c.layers[y][X.layerIndex].start;if(X.params&&X.params.wrapNode){X.params.wrapNode.style.zIndex=y}X.absoluteLeftOffset=o;if(X.layerIndex>0){B=D({day:c,entryIndex:h,layerIndex:X.layerIndex,timeFrom:y,timeTo:g});for(p=0;p<B.length;p++){T=c.entries.timeline[B[p]];if(T&&T.part&&T.part.params&&X.params.wrapNode){v=parseInt(X.params.wrapNode.style.top)-parseInt(T.part.params.wrapNode.style.top);if(v>t){X.offsetFractionLeft=T.part.offsetFractionWidth*.1}else{X.offsetFractionLeft=T.part.offsetFractionWidth*.45}X.offsetFractionLeftTotal=T.part.offsetFractionLeftTotal+X.offsetFractionLeft;X.offsetFractionWidth=1-X.offsetFractionLeftTotal;if(this.dayCount>1){X.offsetLeftRate=X.from.dayOffset+X.offsetFractionLeftTotal}else{X.offsetLeftRate=X.offsetFractionLeftTotal}X.absoluteLeftOffset=(T.absoluteLeftOffset||o)+r;H=1-X.offsetFractionLeftTotal;if(v<=t){if(v<i){T.part.params.timeNode.style.maxWidth="calc("+(1-X.offsetFractionWidth)*100+"% - 4px)";if(T.part.params.timeNode.offsetWidth<s){T.part.params.timeNode.style.textOverflow="clip";T.part.params.timeNode.style.maxWidth=s+"px"}}T.part.params.nameNode.style.maxWidth="calc("+(1-X.offsetFractionWidth)*100+"% - 4px)";if(T.part.params.nameNode.offsetWidth<s){T.part.params.nameNode.style.textOverflow="clip";T.part.params.nameNode.style.maxWidth="calc("+(1-X.offsetFractionWidth)*100+"% + 5px)";this.checkTimelineEntrySize(T.part,T.entry,true)}}else if(T.part.params.nameNode){T.part.params.nameNode.style.maxHeight=v-a+"px"}X.params.wrapNode.style.left="calc((100% / "+this.dayCount+") * "+X.offsetLeftRate+")";X.params.wrapNode.style.width="calc(100% / ("+this.dayCount+") * "+X.offsetFractionWidth+" - "+this.lastEntryWidthOffset+"px)";BX.addClass(X.params.wrapNode,"calendar-bordered-block")}}}if(u.length>1){m=BX.util.array_search(h,c.layers[y][X.layerIndex].start);var k=this.entryWidthOffset;if(m==c.layers[y][X.layerIndex].start.length-1){k=this.lastEntryWidthOffset;if(X.absoluteLeftOffset>o){k+=X.absoluteLeftOffset/u.length+1}}if(this.dayCount>1){X.params.wrapNode.style.width="calc(100% / ("+this.dayCount+" * "+u.length+") - "+k+"px)";X.params.wrapNode.style.left="calc((100% / "+this.dayCount+") * "+X.from.dayOffset+" + 100% * "+m+"/ ("+this.dayCount+" * "+u.length+") + "+X.absoluteLeftOffset+"px)"}else{X.params.wrapNode.style.width="calc(100% / ("+this.dayCount+" * "+u.length+") - "+k+"px)";X.params.wrapNode.style.left="calc(100% * "+m+"/ "+u.length+" + "+X.absoluteLeftOffset+"px)"}}this.checkTimelineEntrySize(X,x,true)}}}};i.prototype.fillTimelineMap=function(e,t,i){var s,a=t.from.getHours()*60+t.from.getMinutes(),r=t.to.getHours()*60+t.to.getMinutes();for(s=a;s<r;s++){if(!e[s])e[s]=[];e[s].push(i)}};i.prototype.displayTopEntry=function(e){var t,i=e.entry,s=e.part.from,a=e.part.daysCount,r,o,n,l,d,h,p,f="calendar-event-line-wrap",c=0,m,u;if(i.isFullDay()){f+=" calendar-event-line-fill"}else if(i.isLongWithTime()){f+=" calendar-event-line-border"}if(i.getCurrentStatus()==="N"){f+=" calendar-event-line-refused"}if(this.util.getDayCode(i.from)!==this.util.getDayCode(s.date)){f+=" calendar-event-line-start-yesterday";c+=8;m=this.getArrow("left",i.color,i.isFullDay())}if(this.util.getDayCode(i.to)!==this.util.getDayCode(e.part.to.date)){f+=" calendar-event-line-finish-tomorrow";u=this.getArrow("right",i.color,i.isFullDay());c+=12}if(m&&!u){c+=4}if(c===0){c=5}r=BX.create("DIV",{attrs:{"data-bx-calendar-entry":i.uid},props:{className:f},style:{top:0,left:this.dayCount>1?"calc((100% / "+this.dayCount+") * ("+(s.dayOffset+1)+" - 1) + 2px)":"2px",width:"calc("+a+" * 100% / "+this.dayCount+" - "+c+"px)"}});if(m){r.appendChild(m);r.style.left="9px"}if(u){r.appendChild(u)}p=r.appendChild(BX.create("DIV",{props:{className:"calendar-event-line-inner-container"}}));n=p.appendChild(BX.create("DIV",{props:{className:"calendar-event-line-inner"}}));o=n.appendChild(BX.create("DIV",{props:{className:"calendar-event-line-dot"}}));if(i.isFullDay()){n.style.maxWidth="calc(200% / "+a+" - "+this.lastEntryWidthOffset+"px)"}else if(i.isLongWithTime()){r.style.borderColor=i.color;n.style.maxWidth="calc(200% / "+a+" - "+this.lastEntryWidthOffset+"px)";if(e.part.partIndex===0){if(a>1){d=n.appendChild(BX.create("SPAN",{props:{className:"calendar-event-line-time"},text:this.calendar.util.formatTime(i.from.getHours(),i.from.getMinutes())}))}n.style.width="calc(100% / "+a+" - "+this.lastEntryWidthOffset+"px)"}if(!d&&a===1&&this.util.getDayCode(i.from)===e.part.from.dayCode){d=n.appendChild(BX.create("SPAN",{props:{className:"calendar-event-line-time"},text:this.calendar.util.formatTime(i.from.getHours(),i.from.getMinutes())}))}if(e.part.partIndex===i.parts.length-1){if(a>1&&i.parts.length>1){n.style.width="calc("+(a-1)+"00% / "+a+" - "+this.lastEntryWidthOffset+"px)"}if(a>1){h=n.appendChild(BX.create("SPAN",{props:{className:i.parts.length>1&&a===1?"calendar-event-line-time":"calendar-event-line-expired-time"},text:this.calendar.util.formatTime(i.to.getHours(),i.to.getMinutes())}))}}if(!h&&a===1&&this.util.getDayCode(i.to)===e.part.to.dayCode){h=n.appendChild(BX.create("SPAN",{props:{className:"calendar-event-line-time"},text:this.calendar.util.formatTime(i.to.getHours(),i.to.getMinutes())}))}}else{d=n.appendChild(BX.create("SPAN",{props:{className:"calendar-event-line-time"},text:this.calendar.util.formatTime(i.from.getHours(),i.from.getMinutes())}))}l=n.appendChild(BX.create("SPAN",{props:{className:"calendar-event-line-text"},text:e.entry.name}));if(i.isFullDay()){p.style.backgroundColor=this.calendar.util.hexToRgba(i.color,.3);p.style.borderColor=this.calendar.util.hexToRgba(i.color,.3)}else{if(i.isLongWithTime()){p.style.borderColor=this.calendar.util.hexToRgba(i.color,.5)}o.style.backgroundColor=i.color}(e.holder||this.topEntryHolder).appendChild(r);t={wrapNode:r,nameNode:l,innerNode:n,innerContainer:p,timeNode:d||false,endTimeNode:h||false,dotNode:o};if(!e.popupMode){e.entry.registerPartNode(e.part,t)}this.calendar.dragDrop.registerEntry(r,e);return t};i.prototype.displayTopEntries=function(){var e;for(e=0;e<this.partsStorage.length;e++){this.displayTopEntry(this.partsStorage[e])}};i.prototype.displayTimelineEntries=function(){this.zIndexTimeline=100;this.timelinePartsStorage.sort(function(e,t){if(e.part.fromTimeValue===t.part.fromTimeValue){return t.part.toTimeValue-t.part.fromTimeValue-(e.part.toTimeValue-e.part.fromTimeValue)}return e.part.fromTimeValue-t.part.fromTimeValue});for(var e=0;e<this.timelinePartsStorage.length;e++){this.displayTimelineEntry(this.timelinePartsStorage[e])}};i.prototype.displayTimelineEntry=function(e){var t=false,i,s,a,r,o,n,l,d,h=this.util.getWorkTime(),p=e.entry,f=e.part.from,c=e.part.fromTimeValue,m=e.part.toTimeValue,u="calendar-event-block-wrap";if(p.hasEmailAttendees()||p.ownerIsEmailUser()||p.getCurrentStatus()==="N"){u+=" calendar-event-block-wrap-icon"}if(p.isExpired()){u+=" calendar-event-block-wrap-past"}if(!this.collapseOffHours||m>h.start&&c<h.end){if(this.collapseOffHours){c=Math.max(e.part.fromTimeValue,h.start);m=Math.min(e.part.toTimeValue,h.end);i=(c-h.start)*this.gridLineHeight+1+"px"}else{i=c*this.gridLineHeight+1+"px"}s=BX.create("DIV",{attrs:{"data-bx-calendar-entry":p.uid},props:{className:u},style:{top:i,height:(m-c)*this.gridLineHeight-3+"px",left:this.dayCount>1?"calc((100% / "+this.dayCount+") * "+f.dayOffset+" + 2px)":"2px",width:"calc(100% / "+this.dayCount+" - "+this.lastEntryWidthOffset+"px)"}});a=s.appendChild(BX.create("DIV",{props:{className:"calendar-event-block-inner"}}));d=a.appendChild(BX.create("DIV",{props:{className:"calendar-event-block-background"}}));if(p.getCurrentStatus()==="N"){a.appendChild(BX.create("SPAN",{props:{className:"calendar-event-block-icon-refused"}}))}else if(p.hasEmailAttendees()||p.ownerIsEmailUser()){a.appendChild(BX.create("SPAN",{props:{className:"calendar-event-block-icon-mail"}}))}r=a.appendChild(BX.create("SPAN",{props:{className:"calendar-event-block-text"},text:e.entry.name}));if(!this.calendar.util.isDarkColor(p.color)){BX.Dom.addClass(a,"calendar-event-text-dark")}o=a.appendChild(BX.create("SPAN",{props:{className:"calendar-event-block-time"},html:this.calendar.util.formatTime(p.from)+" – "+this.calendar.util.formatTime(p.to)}));d.style.backgroundColor=p.color;if(this.calendar.util.type!=="location"&&this.calendar.entryController.canDo(p,"edit")){l=s.appendChild(BX.create("DIV",{props:{className:"calendar-event-resizer"}}))}this.timelineEntryHolder.appendChild(s);t={wrapNode:s,nameNode:r,innerNode:a,timeNode:o,blockBackgroundNode:d,resizerNode:l};e.part.offsetFractionRate=1;e.part.offsetFractionLeft=0;e.part.offsetFractionWidth=1;e.part.offsetFractionLeftTotal=0;e.entry.registerPartNode(e.part,t);this.calendar.dragDrop.registerEntry(s,e)}else{this.addHiddenEntry({position:c<h.end?"top":"bottom",entry:p})}return t};i.prototype.addHiddenEntry=function(e){this.getCollapsedWrap({position:e.position,dayCode:this.util.getDayCode(e.entry.from)}).addEntry(e.entry)};i.prototype.getCollapsedWrap=function(e){if(this.dayIndex[e.dayCode]!==undefined&&this.days[this.dayIndex[e.dayCode]]){var t=this.days[this.dayIndex[e.dayCode]];if(!t.collapsedWrap[e.position]||!t.collapsedWrap[e.position].inited()){t.collapsedWrap[e.position]=new a({position:e.position,wrap:this.timelineEntryHolder,workTime:this.util.getWorkTime(),dayOffset:t.dayOffset,dayCount:this.dayCount,lastEntryWidthOffset:this.lastEntryWidthOffset,gridLineHeight:this.gridLineHeight,labelMessage:this.calendar.collapsedLabelMessage,clickHandler:function(){if(this.collapseOffHours){this.switchOffHours(true)}}.bind(this),mouseoverHandler:function(){BX.addClass(this.topOffHours,"calendar-grid-off-hours-hover");BX.addClass(this.bottomOffHours,"calendar-grid-off-hours-hover")}.bind(this),mouseoutHandler:function(){BX.removeClass(this.topOffHours,"calendar-grid-off-hours-hover");BX.removeClass(this.bottomOffHours,"calendar-grid-off-hours-hover")}.bind(this)})}return t.collapsedWrap[e.position]}return null};i.prototype.displayTimelineCollapsedEntry=function(e){};i.prototype.checkTimelineEntrySize=function(e,t,i){if(e.params.innerNode){if(e.params.innerNode.offsetHeight){this.setEntryBlockCompact(e,t)}if(i===true){setTimeout(BX.proxy(function(){this.checkTimelineEntrySize(e,t,false)},this),100)}}};i.prototype.setEntryBlockCompact=function(e,t){var i,s,a,r=16,o=23,n=60,l=e.params.nameNode,d=e.params.innerNode,h=d.offsetWidth,p=parseInt(l.style.maxHeight);if(p){i=Math.floor(Math.min(d.offsetHeight-o,p)/r)}else{i=Math.floor((d.offsetHeight-o)/r)}if(p||l.offsetHeight+o>d.offsetHeight||h<n){if(i<1||h<n){s=t.entry&&t.entry.from?t.entry.from:t.from;if(s){a=this.calendar.util.formatTime(s.getHours(),s.getMinutes());e.params.timeNode.innerHTML=a}BX.addClass(e.params.wrapNode,"calendar-event-block-compact");if(h<n)BX.addClass(e.params.wrapNode,"narrow-block")}else if(i===1){l.style.whiteSpace="nowrap";l.style.display="block"}else{if(BX.browser.IsChrome()){l.style.WebkitLineClamp=i;l.style.display="-webkit-box"}else{l.style.height=i*r+"px"}}}};i.prototype.showNowTime=function(e){this.nowTimeCont=e.appendChild(BX.create("DIV",{props:{className:this.gridNowTimeClass}}));this.nowTimeLine=this.nowTimeCont.appendChild(BX.create("DIV",{props:{className:this.gridNowTimeLineClass}}));this.nowTimeLine.appendChild(BX.create("DIV",{props:{className:this.gridNowTimeDotClass}}));this.nowTimeLabel=this.nowTimeCont.appendChild(BX.create("DIV",{props:{className:this.gridNowTimeLabelClass}}));if(this.nowTimeInterval)clearInterval(this.nowTimeInterval);this.updateNowTime();this.nowTimeInterval=setInterval(BX.proxy(this.updateNowTime,this),15e3)};i.prototype.hideNowTime=function(){BX.cleanNode(this.nowTimeCont,1);delete this.nowTimeCont;if(this.nowTimeInterval)clearInterval(this.nowTimeInterval)};i.prototype.updateNowTime=function(){if(!this.nowTimeCont)return;var e=10,t=15,i=this.util.getWorkTime(),s=new Date,a=this.getViewRange(),r=this.util.getTimeValue(s),o=true,n=Math.round(r);var l=document.querySelector("."+this.gridTimeTranslucentClass);if(l)BX.removeClass(l,this.gridTimeTranslucentClass);if(s.getTime()>a.start.getTime()&&s.getTime()<a.end.getTime()){if(this.dayCount>1){var d=this.util.getWeekDayOffset(this.util.getWeekDayByInd(s.getDay()));if(d==0){this.nowTimeLine.style.left=0}else{this.nowTimeLine.style.left="calc("+d+" * 100% / "+this.dayCount+" - 4px)"}}}else{return this.hideNowTime()}var h=this.calendar.util.formatTime(s.getHours(),s.getMinutes());if(BX.isAmPmMode())h=h.replace(/(\sam|pm)/gi,"<small>$1<small>");this.nowTimeLabel.innerHTML=h;if(this.collapseOffHours){if(r<i.start){o=false;this.nowTimeLabel.style.display="none";this.nowTimeCont.style.top="-5px";this.nowTimeCont.style.marginTop="25px";this.nowTimeCont.style.zIndex="100";this.nowTimeLine.firstChild.style.left="-6px"}else if(r>i.end){o=false;this.nowTimeLabel.style.display="none";this.nowTimeCont.style.top=(i.end-i.start)*this.gridLineHeight+4+"px";this.nowTimeLine.firstChild.style.left="-6px";this.nowTimeCont.style.marginTop="25px";this.nowTimeCont.style.zIndex="100"}else{if(r<i.start+e/this.gridLineHeight||r>i.end-e/this.gridLineHeight){this.nowTimeLabel.style.display="none"}else{this.nowTimeLabel.style.display=""}this.nowTimeCont.style.top=(r-i.start)*this.gridLineHeight+this.timeLinesCont.offsetTop+"px"}}else{if(r<i.start+t/this.gridLineHeight&&r>i.start||r>i.end-t/this.gridLineHeight&&r<i.end){o=false;this.nowTimeLabel.style.display="none"}this.nowTimeCont.style.top=r*this.gridLineHeight+this.timeLinesCont.offsetTop+"px"}if(o&&Math.abs((n-r)*this.gridLineHeight)<e){if(this.timeLinesIndex[n]){BX.addClass(this.timeLinesIndex[n],this.gridTimeTranslucentClass)}}};i.prototype.getTimeByPos=function(e,t){var i=this.util.getWorkTime(),s=e/this.gridLineHeight,a=this.util.getTimeByFraction(s,t||10);if(this.collapseOffHours){a.h+=i.start}return a};i.prototype.showOffHours=function(){var e=this.util.getWorkTime();this.topOffHours=this.timeLinesCont.appendChild(BX.create("DIV",{props:{className:this.offHoursClass+" "+this.offHoursAnimateClass},style:{top:0,height:e.start*this.gridLineHeight+1+"px"}}));this.topOffHoursLabel=this.topOffHours.appendChild(BX.create("DIV",{props:{className:this.gridTimelineHourLabelClass},html:"<span>"+this.calendar.util.formatTime(0,0,true)+"</span><span>"+this.calendar.util.formatTime(e.start,0,true)+"</span>"}));this.topOffHours.appendChild(BX.create("DIV",{props:{className:"calendar-grid-off-hours-active"},events:{click:BX.proxy(this.switchOffHours,this),mouseover:BX.proxy(function(){BX.addClass(this.topOffHours,"calendar-grid-off-hours-hover");BX.addClass(this.bottomOffHours,"calendar-grid-off-hours-hover")},this),mouseout:BX.proxy(function(){BX.removeClass(this.topOffHours,"calendar-grid-off-hours-hover");BX.removeClass(this.bottomOffHours,"calendar-grid-off-hours-hover")},this)}}));this.topOffHours.appendChild(BX.create("DIV",{props:{className:"calendar-grid-off-hours-drag-down"},attrs:{"data-bx-calendar-off-time-drag":"top"},events:{mousedown:BX.proxy(this.offHoursMousedown,this)}}));this.bottomOffHours=this.timeLinesCont.appendChild(BX.create("DIV",{props:{className:this.offHoursClass+" "+this.offHoursAnimateClass},style:{top:e.end*this.gridLineHeight+1+"px",height:(24-e.end)*this.gridLineHeight+1+"px"}}));this.bottomOffHoursLabel=this.bottomOffHours.appendChild(BX.create("DIV",{props:{className:this.gridTimelineHourLabelClass},html:"<span>"+this.calendar.util.formatTime(e.end,0,true)+"</span><span>"+this.calendar.util.formatTime(24,0,true)+"</span>"}));this.bottomOffHours.appendChild(BX.create("DIV",{props:{className:"calendar-grid-off-hours-active"},events:{click:BX.proxy(this.switchOffHours,this),mouseover:BX.proxy(function(){BX.addClass(this.topOffHours,"calendar-grid-off-hours-hover");BX.addClass(this.bottomOffHours,"calendar-grid-off-hours-hover")},this),mouseout:BX.proxy(function(){BX.removeClass(this.topOffHours,"calendar-grid-off-hours-hover");BX.removeClass(this.bottomOffHours,"calendar-grid-off-hours-hover")},this)}}));this.bottomOffHours.appendChild(BX.create("DIV",{props:{className:"calendar-grid-off-hours-drag-up"},attrs:{"data-bx-calendar-off-time-drag":"bottom"},events:{mousedown:BX.proxy(this.offHoursMousedown,this)}}));BX.bind(this.topOffHours,"click",BX.proxy(function(){if(this.collapseOffHours){this.switchOffHours(true,"top")}},this));BX.bind(this.bottomOffHours,"click",BX.proxy(function(){if(this.collapseOffHours){this.switchOffHours(true,"bottom")}},this));if(this.collapseOffHours){this.gridRow.style.height=this.gridLineHeight*(e.end-e.start)+30+"px";this.collapseOffHours=!this.collapseOffHours;this.switchOffHours(false);this.updateGridRowShadowHeight()}else{this.gridRow.style.height=this.gridLineHeight*24+40+"px";this.updateGridRowShadowHeight()}};i.prototype.offHoursMousedown=function(e){var t=e.target||e.srcElement;this.lastWorkTime=false;this.lastTopCount=false;if(t&&t.getAttribute){this.lastWorkTime=BX.clone(this.util.getWorkTime());BX.unbind(document,"mousemove",BX.proxy(this.offHoursMousemove,this));BX.unbind(document,"mouseup",BX.proxy(this.offHoursMouseup,this));BX.bind(document,"mousemove",BX.proxy(this.offHoursMousemove,this));BX.bind(document,"mouseup",BX.proxy(this.offHoursMouseup,this));BX.removeClass(this.topOffHours,this.offHoursAnimateClass);BX.removeClass(this.bottomOffHours,this.offHoursAnimateClass);BX.addClass(this.topOffHours,this.offHoursFastAnimateClass);BX.addClass(this.bottomOffHours,this.offHoursFastAnimateClass);if(t.getAttribute("data-bx-calendar-off-time-drag")=="top"){this.offtimeTuneMode="top"}else{this.offtimeTuneMode="bottom"}this.offtimeTuneBaseZeroPos=BX.pos(this.timeLinesCont).top}};i.prototype.offHoursMousemove=function(e){if(this.offtimeTuneMode){var t=this.util.getMousePos(e),i=Math.max(Math.round((t.y-this.offtimeTuneBaseZeroPos)/this.gridLineHeight),0);if(this.lastTopCount!==i){if(this.offtimeTuneMode=="top"){i=Math.min(this.lastWorkTime.end-1,i);this.topOffHours.style.height=i*this.gridLineHeight+1+"px";this.lastWorkTime.start=i}else{i=Math.max(this.lastWorkTime.start+1,i);this.bottomOffHours.style.top=i*this.gridLineHeight+"px";this.bottomOffHours.style.height=(24-i)*this.gridLineHeight+1+"px";this.lastWorkTime.end=i}this.lastTopCount=i}}};i.prototype.offHoursMouseup=function(){BX.unbind(document,"mousemove",BX.proxy(this.offHoursMousemove,this));BX.unbind(document,"mouseup",BX.proxy(this.offHoursMouseup,this));BX.addClass(this.topOffHours,this.offHoursAnimateClass);BX.addClass(this.bottomOffHours,this.offHoursAnimateClass);BX.removeClass(this.topOffHours,this.offHoursFastAnimateClass);BX.removeClass(this.bottomOffHours,this.offHoursFastAnimateClass);var e=this.util.setWorkTime(this.lastWorkTime);this.topOffHoursLabel.innerHTML=this.calendar.util.formatTime(0,0,true)+"<br>"+this.calendar.util.formatTime(e.start,0,true);this.bottomOffHoursLabel.innerHTML=this.calendar.util.formatTime(e.end,0,true)+"<br>"+this.calendar.util.formatTime(24,0,true);this.offtimeTuneMode=false;delete this.lastWorkTime;delete this.lastTopCount;this.collapseOffHours=false;this.switchOffHours(true)};i.prototype.switchOffHours=function(e,t){if(this.denySwitch)return;e=e!==false;if(this.nowTimeCont)this.nowTimeCont.display="none";var i=20;BX.cleanNode(this.timelineEntryHolder);this.hideNowTime();if(e){BX.removeClass(this.grid,"calendar-events-holder-show");BX.addClass(this.bottomOffHours,this.offHoursAnimateClass);BX.addClass(this.topOffHours,this.offHoursAnimateClass);BX.addClass(this.timeLinesCont,this.offHoursAnimateClass)}else{BX.removeClass(this.bottomOffHours,this.offHoursAnimateClass);BX.removeClass(this.topOffHours,this.offHoursAnimateClass);BX.removeClass(this.timeLinesCont,this.offHoursAnimateClass)}this.denySwitch=true;var s=this,a=300,r,o,n=this.util.getWorkTime();setTimeout(BX.delegate(function(){this.denySwitch=false;if(this.collapseOffHours){}else{for(r in this.timeLinesIndex){if(this.timeLinesIndex.hasOwnProperty(r)){this.timeLinesIndex[r].style.opacity="";this.timeLinesIndex[r].style.display=""}}}BX.addClass(this.bottomOffHours,this.offHoursAnimateClass);BX.addClass(this.topOffHours,this.offHoursAnimateClass);BX.addClass(this.timeLinesCont,this.offHoursAnimateClass);if(this.scrollTopInterval)clearTimeout(this.scrollTopInterval);if(this.timeLinesCont&&!this.nowTimeCont)this.showNowTime(this.gridRow);if(e){BX.addClass(this.grid,"calendar-events-holder-show");this.displayEntries()}},this),e?500:10);function l(t){if(e){setTimeout(function(){t.style.opacity=1},a)}else{t.style.opacity=1}}function d(t){if(e){setTimeout(function(){t.style.display="none"},a)}else{t.style.display="none"}}function h(){s.gridWrap.scrollTop=s.savedScrollTop||n.start*s.gridLineHeight-5;s.scrollTopInterval=setTimeout(h,5)}function p(){s.gridWrap.scrollTop=Math.floor(n.start/2)*s.gridLineHeight;s.scrollTopInterval=setTimeout(p,5)}function f(){s.gridWrap.scrollTop=(n.end-2)*s.gridLineHeight;s.scrollTopInterval=setTimeout(f,5)}var c=true;if(!this.collapseOffHours&&(n.end-n.start)*this.gridLineHeight+20<=this.util.getViewHeight()){c=false}this.checkTimelineScroll(c);if(this.collapseOffHours){this.gridRow.style.height=this.gridLineHeight*24+40+"px";this.topOffHours.style.height=this.gridLineHeight*n.start+1+"px";this.bottomOffHours.style.height=this.gridLineHeight*(24-n.end)+1+"px";this.bottomOffHours.style.top=this.gridLineHeight*n.end+"px";for(r in this.timeLinesIndex){if(this.timeLinesIndex.hasOwnProperty(r)){if(r>=n.start&&r<=n.end){d(this.timeLinesIndex[r])}else{this.timeLinesIndex[r].style.display="block";l(this.timeLinesIndex[r])}this.timeLinesIndex[r].style.top=r*this.gridLineHeight+"px"}}if(e&&t==="top"){this.scrollTopInterval=setTimeout(p,5)}else if(e&&t==="bottom"){this.scrollTopInterval=setTimeout(f,5)}}else{this.gridRow.style.height=this.gridLineHeight*(n.end-n.start)+30+"px";this.topOffHours.style.height=i+"px";this.bottomOffHours.style.height=this.gridLineHeight*(24-n.end)+1+"px";this.bottomOffHours.style.top=this.gridLineHeight*n.end+"px";for(r in this.timeLinesIndex){if(this.timeLinesIndex.hasOwnProperty(r)){if(r<=n.start||r>=n.end){o=this.timeLinesIndex[r];this.timeLinesIndex[r].style.opacity=0;d(this.timeLinesIndex[r])}else{l(this.timeLinesIndex[r])}if(r>=n.end){this.timeLinesIndex[r].style.top=(n.end-n.start)*this.gridLineHeight+"px"}else{this.timeLinesIndex[r].style.top=(r-n.start)*this.gridLineHeight+"px"}}}this.bottomOffHours.style.height=i+"px";this.bottomOffHours.style.top=(n.end-n.start)*this.gridLineHeight+9+"px";this.savedScrollTop=parseInt(this.gridWrap.scrollTop)}this.collapseOffHours=!this.collapseOffHours;BX.toggleClass(this.topOffHours,[this.offHoursCollapseClass,this.offHoursClass]);BX.toggleClass(this.bottomOffHours,[this.offHoursCollapseClass,this.offHoursClass]);this.util.setUserOption("collapseOffHours",this.collapseOffHours?"Y":"N");this.updateGridRowShadowHeight()};i.prototype.checkTimelineScroll=function(e){var t=e?this.util.getScrollbarWidth():0;if(this.titleCont){this.titleCont.style.paddingRight=t+"px"}if(this.fullDayEventsHolderCont&&this.topEntryHolder&&parseInt(this.topEntryHolder.style.right)!==parseInt(t)){new BX.easing({duration:100,start:{width:t,paddingRight:0},finish:{width:0,paddingRight:t},transition:BX.easing.makeEaseOut(BX.easing.transitions.linear),step:BX.delegate(function(e){this.gridWrap.style.width="calc(100% + "+e.width+"px)";this.topEntryHolder.style.right=e.paddingRight+"px";this.fullDayEventsHolderCont.style.paddingRight=e.paddingRight+"px"},this),complete:function(){}}).animate()}};i.prototype.getDayGridHeight=function(){return 1040};i.prototype.updateGridRowShadowHeight=function(){if(this.collapseOffHours){this.gridRowShadow.style.height=parseInt(this.gridRow.style.height)-38+"px";BX.removeClass(this.gridRowShadow,"calendar-grid-week-row-shadow-off-hours")}else{this.gridRowShadow.style.height=parseInt(this.gridRow.style.height)-40+"px";BX.addClass(this.gridRowShadow,"calendar-grid-week-row-shadow-off-hours")}};i.prototype.handleClick=function(e){if(this.isActive()){if(!e)e={};var t,i;if(e.specialTarget&&(i=e.specialTarget.getAttribute("data-bx-calendar-entry"))){this.handleEntryClick({uid:i,specialTarget:e.specialTarget,target:e.target,e:e.e})}else if(e.specialTarget&&(t=e.specialTarget.getAttribute("data-bx-calendar-show-all-events"))){this.deselectEntry();if(this.dayIndex[t]!==undefined&&this.days[this.dayIndex[t]]){this.showAllEventsInPopup({day:this.days[this.dayIndex[t]],entrieList:this.days[this.dayIndex[t]].entries.topList})}}else if(!this.calendar.util.readOnlyMode()&&this.entryController.canDo(true,"add_event")&&(t=e.specialTarget&&e.specialTarget.getAttribute("data-bx-calendar-week-day"))){this.deselectEntry();this.showCompactEditFormForNewEntry({entry:this.buildTopNewEntryWrap({dayFrom:this.days[this.dayIndex[t]],holder:this.topEntryHolder})})}}};i.prototype.correctDuration=function(){var e=false;var t=new Date(this.newEntry.dayFrom.date.getTime());var i=new Date(this.newEntry.dayFrom.date.getTime());t.setHours(this.newEntry.timeFrom.h,this.newEntry.timeFrom.m,0,0);i.setHours(this.newEntry.timeTo.h,this.newEntry.timeTo.m,0,0);var s=new Date(t.getTime());var a=new Date(i.getTime());var r=this.name==="week"?this.days[this.newEntry.dayFrom.dayOffset].entries.timeline:this.days[0].entries.timeline;for(var o=0;o<r.length;o++){if(r[o].entry.accessibility==="free"){continue}if(t<r[o].entry.to&&t>=r[o].entry.from){t=r[o].entry.to;if(!e){i.setHours(t.getHours()+1);i.setMinutes(t.getMinutes())}}if(i>r[o].entry.from&&t<=r[o].entry.from){e=true;i=r[o].entry.from}}var n=(t-s)/6e4;if(n>=30){this.newEntry.timeFrom.h=s.getHours();this.newEntry.timeFrom.m=s.getMinutes();this.newEntry.timeTo.h=a.getHours();this.newEntry.timeTo.m=a.getMinutes()}else{this.newEntry.timeFrom.h=t.getHours();this.newEntry.timeFrom.m=t.getMinutes();this.newEntry.timeTo.h=i.getHours();this.newEntry.timeTo.m=i.getMinutes()}};i.prototype.correctNewEntryWrap=function(){var e=this.newEntry.timeFrom.h+this.newEntry.timeFrom.m/60;var t=this.newEntry.timeTo.h+this.newEntry.timeTo.m/60;this.newEntry.entryNode.style.height=(t-e)*this.gridLineHeight-3+"px";var i=this.util.getWorkTime();if(this.collapseOffHours){e=Math.max(e,i.start);this.startMousePos=this.offtimeTuneBaseZeroPos+((e-i.start)*this.gridLineHeight+1)}else{this.startMousePos=this.offtimeTuneBaseZeroPos+(e*this.gridLineHeight+1)}};i.prototype.handleMousedown=function(e){if(!this.isActive()){return}var t=BX.Calendar.EntryManager.getCompactViewForm(false);if(t&&t.isShown()){return}var i;var s=this.calendar.util.findTargetNode(e.target||e.srcElement);if((this.calendar.util.type==="location"||!this.calendar.util.readOnlyMode())&&this.entryController.canDo(true,"add_event")&&(i=s&&s.getAttribute("data-bx-calendar-timeline-day"))){BX.unbind(document,"mousemove",BX.proxy(this.handleMousemove,this));BX.unbind(document,"mouseup",BX.proxy(this.handleMouseup,this));BX.bind(document,"mousemove",BX.proxy(this.handleMousemove,this));BX.bind(document,"mouseup",BX.proxy(this.handleMouseup,this));BX.addCustomEvent(this.calendar,"keyup",BX.proxy(this.checkKeyup,this));this.createEntryMode=true;this.offtimeTuneBaseZeroPos=BX.pos(this.timeLinesCont).top;this.startMousePos=Math.max(this.offtimeTuneBaseZeroPos+this.gridWrap.scrollTop,this.calendar.util.getMousePos(e).y);this.newEntry=this.buildTimelineNewEntryWrap({dayFrom:this.days[this.dayIndex[i]],holder:this.timelineEntryHolder});this.newEntry.dayFrom=this.days[this.dayIndex[i]];this.newEntry.timeFrom=this.getTimeByPos(this.startMousePos-this.offtimeTuneBaseZeroPos,30,true);var a=this.util.getWorkTime();var r=this.newEntry.timeFrom.h+this.newEntry.timeFrom.m/60;if(this.collapseOffHours){r=Math.max(r,a.start);this.startMousePos=this.offtimeTuneBaseZeroPos+((r-a.start)*this.gridLineHeight+1)}else{this.startMousePos=this.offtimeTuneBaseZeroPos+(r*this.gridLineHeight+1)}if(this.newEntry.timeFrom.h===23){this.newEntry.timeTo={h:23,m:59}}else{this.newEntry.timeTo={h:this.newEntry.timeFrom.h+1,m:this.newEntry.timeFrom.m}}this.correctDuration();this.correctNewEntryWrap(a);this.newEntry.changeTimeCallback(this.newEntry.timeFrom,this.newEntry.timeTo);this.newEntry.entryNode.style.top=this.startMousePos-BX.pos(this.outerGrid).top+"px"}};i.prototype.handleMousemove=function(e){if(this.createEntryMode){var t=this.collapseOffHours?9:20;var i=this.calendar.util.getMousePos(e).y;var s=Math.min(Math.max(i-this.startMousePos,10),parseInt(this.gridRow.style.height)-parseInt(this.newEntry.entryNode.style.top)-t);this.newEntry.entryNode.style.height=s+"px";this.newEntry.timeTo=this.getTimeByPos(s+this.startMousePos-this.offtimeTuneBaseZeroPos);this.newEntry.changeTimeCallback(this.newEntry.timeFrom,this.newEntry.timeTo)}};i.prototype.handleMouseup=function(e){BX.removeCustomEvent(this.calendar,"keyup",BX.proxy(this.checkKeyup,this));if(this.createEntryMode){var t=new Date(this.newEntry.dayFrom.date.getTime()),i=new Date(this.newEntry.dayFrom.date.getTime());t.setHours(this.newEntry.timeFrom.h,this.newEntry.timeFrom.m,0,0);i.setHours(this.newEntry.timeTo.h,this.newEntry.timeTo.m,0,0);this.deselectEntry();this.showCompactEditFormForNewEntry({entry:this.newEntry,entryTime:{from:t,to:i}});this.createEntryMode=false}};i.prototype.checkKeyup=function(e){var t=this.util.getKeyCodes();if(e.keyCode===t["escape"]&&this.createEntryMode&&this.newEntry){BX.remove(this.newEntry.entryNode);this.createEntryMode=false;this.handleMouseup()}};i.prototype.buildTopNewEntryWrap=function(e){var t=this,i,s,a,r,o,n="calendar-event-line-wrap",l=0,d=e.dayFrom,h,p,f=1,c=BX.Calendar.SectionManager.getNewEntrySectionId(),m=this.calendar.sectionManager.getSection(c)||this.calendar.roomsManager.getRoom(c),u=m.color;i=this.entryController.getTimeForNewEntry(d.date);s=this.entryController.getDefaultEntryName();a=e.holder.appendChild(BX.create("DIV",{props:{className:n},style:{top:0,left:this.dayCount>1?"calc((100% / "+this.dayCount+") * ("+(d.dayOffset+1)+" - 1) + 2px)":"2px",width:"calc("+f+" * 100% / "+this.dayCount+" - "+l+"px)"}}));o=a.appendChild(BX.create("DIV",{props:{className:"calendar-event-line-inner-container"}}));r=o.appendChild(BX.create("DIV",{props:{className:"calendar-event-line-inner"}}));r.appendChild(BX.create("SPAN",{props:{className:"calendar-event-line-time"},text:this.calendar.util.formatTime(i.from.getHours(),i.from.getMinutes())}));r.appendChild(BX.create("SPAN",{props:{className:"calendar-event-line-text"},text:s}));a.style.backgroundColor=u;a.style.borderColor=u;a.style.opacity=0;var y=BX.adjust(this.fullDayEventsCont.appendChild(a.cloneNode(true)),{props:{className:"calendar-event-line-clone"},style:{width:a.offsetWidth-4+"px",height:a.offsetHeight+"px",top:3+"px",left:a.offsetLeft+43+"px",opacity:1}});if(a){BX.remove(a,true)}p=y.querySelector(".calendar-event-line-text");h=y.querySelector(".calendar-event-line-time");r=y.querySelector(".calendar-event-line-inner");var g={entryNode:y,innerNode:r,section:m,entryName:s,entryTime:i,changeTimeCallback:function(e,i){if(e.getHours&&i.getHours){h.innerHTML=t.calendar.util.formatTime(e.getHours(),e.getMinutes())}else{h.innerHTML=t.calendar.util.formatTime(e.h,e.m)}},changeNameCallback:function(e){p.innerHTML=BX.util.htmlspecialchars(e)}};this.selectEntryPart(g,u,false);return g};i.prototype.buildTimelineNewEntryWrap=function(e){var t=this,i,s,a,r,o="calendar-event-block-wrap",n=e.dayFrom,l,d,h,p,f,c=BX.Calendar.SectionManager.getNewEntrySectionId(),m=this.calendar.sectionManager.getSection(c)||this.calendar.roomsManager.getRoom(c),u=m.color;i=this.entryController.getTimeForNewEntry(n.date);s=this.entryController.getDefaultEntryName();a=e.holder.appendChild(BX.create("DIV",{props:{className:o},style:{height:this.gridLineHeight+"px",minHeight:"20px",left:this.dayCount>1?"calc((100% / "+this.dayCount+") * "+n.dayOffset+" + 2px)":"2px",width:"calc(100% / "+this.dayCount+" - "+this.lastEntryWidthOffset+"px)"}}));r=a.appendChild(BX.create("DIV",{props:{className:"calendar-event-block-inner"}}));l=r.appendChild(BX.create("DIV",{props:{className:"calendar-event-block-background"}}));d=this.calendar.util.formatTime(i.from.getHours(),i.from.getMinutes())+" – "+this.calendar.util.formatTime(i.to.getHours(),i.to.getMinutes());r.appendChild(BX.create("SPAN",{props:{className:"calendar-event-block-text"},style:{color:"#fff"},text:s}));r.appendChild(BX.create("SPAN",{props:{className:"calendar-event-block-time"},style:{color:"#fff"},html:d}));l.style.backgroundColor=u;var y=BX.adjust(this.outerGrid.appendChild(a.cloneNode(true)),{props:{className:"calendar-event-line-clone calendar-event-block-wrap active"},style:{width:a.offsetWidth-3+"px",height:a.offsetHeight+"px",left:a.offsetLeft+42+"px",opacity:1}});if(a){BX.remove(a,true)}p=y.querySelector(".calendar-event-block-text");h=y.querySelector(".calendar-event-block-time");r=y.querySelector(".calendar-event-block-inner");l=y.querySelector(".calendar-event-block-background");f=y.appendChild(BX.create("DIV",{props:{className:"calendar-event-bind-node"}}));if(this.dayCount===1)f.style.right="10%";else f.style.left="0";var g={entryNode:y,innerNode:r,section:m,entryName:s,bindNode:f,blockBackgroundNode:l,changeTimeCallback:function(e,i){var s;if(e.getHours&&i.getHours){s=t.calendar.util.formatTime(e.getHours(),e.getMinutes())+" – "+t.calendar.util.formatTime(i.getHours(),i.getMinutes())}else{s=t.calendar.util.formatTime(e.h,e.m)+" – "+t.calendar.util.formatTime(i.h,i.m)}h.innerHTML=s},changeNameCallback:function(e){p.innerHTML=BX.util.htmlspecialchars(e)}};this.selectEntryPart(g,u,false);return g};i.prototype.showCompactEditFormForNewEntry=function(e){this.showCompactEditForm({entryNode:e.entry.entryNode,bindNode:e.entry.bindNode,section:e.entry.section,entryTime:e.entryTime||e.entry.entryTime,entryName:e.entry.entryName,changeTimeCallback:e.entry.changeTimeCallback,changeNameCallback:e.entry.changeNameCallback,closeCallback:BX.delegate(function(){BX.remove(e.entry.entryNode)},this)});BX.Event.EventEmitter.unsubscribeAll("BX.Calendar.CompactEventForm:onChange");BX.Event.EventEmitter.subscribe("BX.Calendar.CompactEventForm:onChange",function(e){if(e instanceof BX.Event.BaseEvent){var t=e.getData();var i=t.form.dateTimeControl.getValue()}}.bind(this))};i.prototype.showAllEventsInPopup=function(e){var t=e.entrieList||e.day.entries.list,i,s;i=BX.create("DIV",{props:{className:"calendar-all-events-popup calendar-custom-scroll"},events:{click:BX.proxy(this.calendar.handleViewsClick,this.calendar)}});t.sort(this.calendar.entryController.sort);var a,r;t.forEach(function(e){if(e.entry){if(e.entry.isTask()){if(!a){i.appendChild(BX.create("DIV",{props:{className:"calendar-event-title"},text:BX.message("EC_ENTRIES_TASKS")}));a=i.appendChild(BX.create("DIV",{props:{className:"calendar-event-block"}}))}this.displayTopEntry({entry:e.entry,part:e.part,holder:a,popupMode:true})}else{if(!r){i.appendChild(BX.create("DIV",{props:{className:"calendar-event-title"},text:BX.message("EC_ENTRIES_EVENTS")}));r=i.appendChild(BX.create("DIV",{props:{className:"calendar-event-block"}}))}this.displayTopEntry({entry:e.entry,part:e.part,holder:r,popupMode:true})}}},this);s=BX.PopupWindowManager.create(this.calendar.id+"-all-events-popup",e.day.hiddenStorageText,{autoHide:true,closeByEsc:true,offsetTop:-2,offsetLeft:-50,lightShadow:true,content:i});s.setAngle({offset:118});s.show(true);this.allEventsPopup=s;BX.addCustomEvent(s,"onPopupClose",function(){s.destroy()})};function s(){t.apply(this,arguments);this.initConfig();this.preBuild()}s.prototype=Object.create(i.prototype);s.prototype.constructor=s;s.prototype.show=function(){t.prototype.show.apply(this,arguments);this.buildDaysGrid();if(this.calendar.navCalendar)this.calendar.navCalendar.hide();this.displayEntries();this.calendar.initialViewShow=false};s.prototype.initConfig=function(){i.prototype.initConfig.apply(this,arguments);this.name="week";this.title=BX.message("EC_VIEW_WEEK");this.contClassName="calendar-week-view";this.hotkey="W";this.gridWrapClass="calendar-grid-wrap";this.fullDayContClass="calendar-grid-week-full-days-events-holder";this.outerGridClass="calendar-grid-week-container";this.gridClass="calendar-grid-week";this.gridClassCurrent="calendar-grid-week-current";this.gridClassNext="calendar-grid-week-left-slide";this.gridClassPrevious="calendar-grid-week-right-slide";this.changeNextClass="calendar-change-week-left-slide";this.changePreviousClass="calendar-change-week-right-slide";this.gridRowClass="calendar-grid-week-row";this.gridCellClass="calendar-grid-week-cell";this.gridTimelinesClass="calendar-grid-week-time-lines";this.gridTimelineHourClass="calendar-grid-week-time-line-hour";this.gridTimelineHourLabelClass="calendar-grid-week-time-line-hour-label";this.topEntryHolderClass="calendar-grid-week-events-holder";this.gridNowTimeClass="calendar-grid-week-time-line-hour-now";this.gridNowTimeLabelClass="calendar-grid-week-time-line-hour-label";this.gridNowTimeLineClass="calendar-grid-week-time-line-hour-now-line";this.gridNowTimeDotClass="calendar-grid-week-time-line-hour-now-dot";this.dayCount=7};s.prototype.setTitle=function(){var e=this.calendar.getViewRangeDate(),i=e.getTime(),s=new Date(e.getTime()+this.dayCount*this.calendar.util.dayLength);if(e.getMonth()!==s.getMonth()){t.prototype.setTitle.apply(this,[BX.date.format("f",i/1e3)+" - "+BX.date.format("f",s.getTime()/1e3)+(this.util.showWeekNumber()?", #GRAY_START#"+BX.message("EC_DATE_WEEK_NUMBER").replace("#WEEK_NUMBER#",this.util.getWeekNumber(i))+"#GRAY_END#":"")])}else{t.prototype.setTitle.apply(this,[BX.date.format("f",i/1e3)+(this.util.showWeekNumber()?", #GRAY_START#"+BX.message("EC_DATE_WEEK_NUMBER").replace("#WEEK_NUMBER#",this.util.getWeekNumber(i))+"#GRAY_END#":"")])}};s.prototype.getAdjustedDate=function(e,t,s){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 a=this.util.getWeekStart();while(this.util.getWeekDayByInd(e.getDay())!=a){e.setDate(e.getDate()-1)}if(s){t.start.setDate(e.getTime());t.end.setDate(e.getTime()+this.calendar.util.dayLength*this.dayCount)}return i.prototype.getAdjustedDate.apply(this,[e,t])};s.prototype.adjustViewRangeToDate=function(e){var t=this.util.getWeekStart();while(this.util.getWeekDayByInd(e.getDay())!=t){e.setDate(e.getDate()-1)}return i.prototype.adjustViewRangeToDate.apply(this,[e])};if(e.BXEventCalendar){e.BXEventCalendar.CalendarDayView=i;e.BXEventCalendar.CalendarWeekView=s}else{BX.addCustomEvent(e,"onBXEventCalendarInit",function(){e.BXEventCalendar.CalendarDayView=i;e.BXEventCalendar.CalendarWeekView=s})}function a(e){this.position=e.position;this.outerWrap=e.wrap;this.workTime=e.workTime;this.dayOffset=e.dayOffset;this.dayCount=e.dayCount;this.lastEntryWidthOffset=e.lastEntryWidthOffset;this.gridLineHeight=e.gridLineHeight;this.labelMessage=e.labelMessage;this.clickHandler=e.clickHandler;this.mouseoutHandler=e.mouseoutHandler;this.mouseoverHandler=e.mouseoverHandler;this.isInited=false;this.entryCount=0;this.create()}a.prototype={create:function(){this.wrap=this.outerWrap.appendChild(BX.create("DIV",{props:{className:"calendar-event-block-wrap calendar-event-block-wrap-more"},style:{top:this.position==="bottom"?(this.workTime.end-this.workTime.start)*this.gridLineHeight+"px":"-9px",left:this.dayCount>1?"calc((100% / "+this.dayCount+") * "+this.dayOffset+" + 2px)":"2px",width:"calc(100% / "+this.dayCount+" - "+this.lastEntryWidthOffset+"px)"}})).appendChild(BX.create("DIV",{props:{className:"calendar-event-block-inner"},html:'<div class="calendar-event-block-background" style="background-color: #808080;"></div>'}));if(BX.type.isFunction(this.clickHandler)){BX.bind(this.wrap,"click",this.clickHandler)}if(BX.type.isFunction(this.mouseoverHandler)){BX.bind(this.wrap,"mouseover",this.mouseoverHandler)}if(BX.type.isFunction(this.mouseoutHandler)){BX.bind(this.wrap,"mouseout",this.mouseoutHandler)}this.countContainer=this.wrap.appendChild(BX.create("span",{props:{className:"calendar-event-block-text"},html:'<span class="calendar-event-block-text-subtitle">'+this.labelMessage+"</span>"})).appendChild(BX.create("span",{props:{className:"calendar-event-block-text-total"}}));this.isInited=true},inited:function(){return this.isInited&&BX.isNodeInDom(this.wrap)},destroy:function(){BX.remove(this.wrap);this.isInited=false},addEntry:function(e){this.entryCount++;this.countContainer.innerHTML=this.entryCount}}})(window); //# sourceMappingURL=calendar-view-day-week.map.js
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.29 |
proxy
|
phpinfo
|
Settings