UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 14.3 kB
module.exports=function(r){var a={};function s(e){if(a[e])return a[e].exports;var t=a[e]={exports:{},id:e,loaded:!1};return r[e].call(t.exports,t,t.exports,s),t.loaded=!0,t.exports}return s.m=r,s.c=a,s.p="",s(0)}({0:function(e,t,r){e.exports=r(1426)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1420:function(e,t){e.exports=require("./kendo.scheduler.view")},1426:function(e,t,r){var a;r(3),r=[r(1420)],void 0===(t="function"==typeof(a=function(){var l={id:"scheduler.agendaview",name:"Scheduler Agenda View",category:"web",description:"The Scheduler Agenda View",depends:["scheduler.view"],hidden:true},n=window.kendo.jQuery,m=window.kendo,p=m.ui,r=".kendoAgendaView",t="role",a='<div class="k-task" title="#:(data.title || "").replace(/"/g,"\'")#" data-#=kendo.ns#uid="#=uid#">'+"# if (resources[0]) {#"+'<span class="k-scheduler-mark" style="background-color:#=resources[0].color#"></span>'+"# } #"+"# if (data.isException()) { #"+'<span class="k-icon k-i-non-recurrence"></span>'+"# } else if (data.isRecurring()) {#"+'<span class="k-icon k-i-reload"></span>'+"# } #"+'<span class="k-scheduler-task-text">{0}</span>'+"#if (showDelete) {#"+'<a href="\\#" class="k-link k-event-delete" title="${data.messages.destroy}" aria-label="${data.messages.destroy}"><span class="k-icon k-i-close"></span></a>'+"#}#"+"</div>",e="# if (!isMobile) { #"+'<strong class="k-scheduler-agendaday">'+'#=kendo.toString(date, "dd")#'+"</strong>"+'<em class="k-scheduler-agendaweek">'+'#=kendo.toString(date,"dddd")#'+"</em>"+'<span class="k-scheduler-agendadate">'+'#=kendo.toString(date, "y")#'+"</span>"+"# } else { #"+'<div class="k-scheduler-datecolumn-wrap">'+'<span class="k-mobile-scheduler-agendadate">'+'<span class="k-mobile-scheduler-agendaday">#=kendo.toString(date, "dd")#</span>'+"&nbsp"+'<span class="k-mobile-scheduler-agendamonth">#=kendo.toString(date, "MMMM")#</span>'+"</span>"+'<span class="k-mobile-scheduler-agendaweekday">'+'#=kendo.toString(date, "dddd")#'+"</span>"+"</div>"+"# } #",s="# if (!isMobile) { #"+'<strong class="k-scheduler-adgendagroup">'+"#=value#"+"</strong>"+"# } else { #"+'<span class="k-scheduler-group-text">'+"#=value#"+"</span>"+"# } #",i=m.Class.extend({init:function(e){this._view=e},_getColumns:function(e,t){return e.concat(t)},_getGroupsInDay:function(){return[]},_getSumOfItemsForDate:function(){return 0},_renderTaskGroupsCells:function(e,t,r,a){var s=this._view;if(r===0&&a===0&&t.length)s._renderTaskGroupsCells(e,t)},_renderDateCell:function(e,t,r,a,s,n){var i=this._view;var o=i._isMobile();e.push(m.format('<td class="k-scheduler-datecolumn{3}{2}" rowspan="{0}">{1}</td>',r.length,i._dateTemplate({date:a,isMobile:o}),s==n.length-1&&!t.length?" k-last":"",!t.length?" k-first":""))},_renderDates:function(){return undefined},_getParents:function(e){return e.splice(0)},_getGroupsByDate:function(){return undefined},_renderTaskGroups:function(e,t,r){var a=this._view;e.append(a._renderTaskGroups(t,r))}}),d=m.Class.extend({init:function(e){this._view=e},_getColumns:function(e,t){var r=this._view;if(r._isMobile())return e.concat(t);else{var a=t.slice(0,1);var s=t.slice(1);return a.concat(e).concat(s)}},_compareDateGroups:function(e,t,r){if(e[r].text==t[r].text)if(r===0)return true;else return this._compareDateGroups(e,t,r-1);return false},_getGroupsInDay:function(e,t){var r=[];var a=null;for(var s=0;s<e.length;s++)for(var n=0;n<e[s].items.length;n++){var i=0;if(r.length===0)for(i;i<t[s].length;i++)r.push([1]);else for(i;i<t[s].length;i++)if(this._compareDateGroups(t[s],a,i))r[i][r[i].length-1]++;else{var o=r[i][r[i].length-1]-1;for(var l=0;l<o;l++)r[i].push(0);r[i].push(1)}a=t[s]}return r},_getSumOfItemsForDate:function(e){var t=0;for(var r=0;r<e.length;r++)t+=e[r].items.length;return t},_renderTaskGroupsCells:function(e,t,r,a,s,n,u,i){var o=this._view;var l=o._isMobile();if(!l){if(r===0&&a===0)e.push(m.format('<td class="k-scheduler-datecolumn k-first" rowspan="{0}">{1}</td>',n,o._dateTemplate({date:u,isMobile:l})));for(var d=0;d<t[r].length;d++)if(s[d][i])e.push(m.format('<td class="k-scheduler-groupcolumn" rowspan="{0}">{1}</td>',s[d][i],o._groupTemplate({value:t[r][d].text,isMobile:l}),t[r][d].className))}else if(r===0&&a===0&&t.length)o._renderTaskGroupsCells(e,t)},_renderDateCell:function(){return undefined},_renderDates:function(e){var t=this._view;var r=t._groupsByDate.sort(function(e,t){return e.array[0].value.getTime()-t.array[0].value.getTime()});for(var a=0;a<r.length;a++)e.append(t._renderTaskGroups(r[a].array,r[a].groups))},_getParents:function(e){return e.slice(0)},_getGroupsByDate:function(e,t,r){var a=this._view;if(e[t].items)for(var s=0;s<e[t].items.length;s++){var n=e[t].items[s].value;var i=false;for(var o=0;o<a._groupsByDate.length;o++)if(a._groupsByDate[o].array[0].value.getTime()===n.getTime()){i=true;a._groupsByDate[o].array.push(e[t].items[s]);a._groupsByDate[o].groups.push(r)}if(!i)a._groupsByDate.push({array:[e[t].items[s]],groups:[r]})}},_renderTaskGroups:function(){return undefined}});function g(e){var t=0;for(var r=0,a=e.length;r<a;r++)t+=e[r].items.length;return t}function v(e,t){if(e.valuePrimitive)t=m.getter(e.dataValueField)(t);return t}function u(e){var t=0,r=e.length,a,s=[];for(;t<r;t++){a=e[t];if(a.groups){a=o(a.groups);s=s.concat(a)}else s=s.concat(o(a.items))}return s}function o(e){var t=[].concat(e),r=t.shift(),a=[],s=[].push;while(r){if(r.groups)s.apply(t,r.groups);else if(r.items)s.apply(t,r.items);else s.call(a,r);r=t.shift()}return a}return m.ui.scheduler.AgendaGroupedView=i,m.ui.scheduler.AgendaGroupedByDateView=d,p.AgendaView=p.SchedulerView.extend({init:function(e,t){p.SchedulerView.fn.init.call(this,e,t);this._groupedView=this._getGroupedView();t=this.options;if(t.editable)t.editable=n.extend({delete:true},t.editable,{create:false,update:false},{messages:t.messages});this.title=t.title;this._eventTemplate=this._eventTmpl(t.eventTemplate,a);this._dateTemplate=m.template(t.eventDateTemplate);this._groupTemplate=m.template(t.eventGroupTemplate);this._timeTemplate=m.template(t.eventTimeTemplate);this.element.on("mouseenter"+r,".k-scheduler-agenda .k-scheduler-content tr","_mouseenter").on("mouseleave"+r,".k-scheduler-agenda .k-scheduler-content tr","_mouseleave").on("click"+r,".k-scheduler-agenda .k-scheduler-content .k-link:has(.k-i-close)","_remove");this._renderLayout(t.date);this.refreshLayout()},name:"agenda",_aria:function(){var e=this.table;e.attr(t,"grid");e.children("tbody").attr(t,"none");e.find("table").attr(t,"none");e.find("table > tbody").attr(t,"rowgroup");e.find("table tr").attr(t,"row");e.find("table td").attr(t,"gridcell");e.find(".k-scheduler-header-wrap th").attr(t,"columnheader");e.find(".k-scheduler-content .k-scheduler-datecolumn, .k-scheduler-content .k-scheduler-groupcolumn").attr(t,"rowheader")},clearSelection:function(){this.element.find(".k-state-selected").attr("aria-selected",false);m.ui.SchedulerView.fn.clearSelection.call(this)},_isVirtualized:function(){return false},_getGroupedView:function(){if(this._isGroupedByDate())return new m.ui.scheduler.AgendaGroupedByDateView(this);else return new m.ui.scheduler.AgendaGroupedView(this)},_mouseenter:function(e){n(e.currentTarget).addClass("k-state-hover")},_mouseleave:function(e){n(e.currentTarget).removeClass("k-state-hover")},_remove:function(e){e.preventDefault();this.trigger("remove",{uid:n(e.currentTarget).closest(".k-task").attr(m.attr("uid"))})},nextDate:function(){return m.date.nextDay(this.startDate())},startDate:function(){return this._startDate},endDate:function(){return this._endDate},previousDate:function(){return m.date.previousDay(this.startDate())},_renderLayout:function(e){this._startDate=e;this._endDate=m.date.addDays(e,7);this.createLayout(this._layout());this._footer();this.table.addClass("k-scheduler-agenda")},_layout:function(){var e=[{text:this.options.messages.time,className:"k-scheduler-timecolumn"},{text:this.options.messages.event}];if(!this._isMobile())e.splice(0,0,{text:this.options.messages.date,className:"k-scheduler-datecolumn"});var t=this.groupedResources;if(t.length){var r=[];for(var a=0;a<t.length;a++)r.push({text:"",className:"k-scheduler-groupcolumn"});e=this._groupedView._getColumns(r,e)}return{columns:e}},_tasks:function(e){var t=[];for(var r=0;r<e.length;r++){var a=e[r];var s=a.start;var n=a.isAllDay?m.date.getDate(a.end):a.end;var i=m.date.getDate(s);var u=(i.getTimezoneOffset()-n.getTimezoneOffset())*6e4;var o=Math.ceil((n-i+u)/m.date.MS_PER_DAY);if(a.isAllDay)o+=1;var l=a.clone();l.startDate=m.date.getDate(s);if(l.startDate>=this.startDate())t.push(l);if(o>1){l.end=m.date.nextDay(s);l.head=true;for(var d=1;d<o;d++){s=l.end;l=a.clone();l.start=l.startDate=m.date.getDate(s);l.end=m.date.nextDay(s);if(d==o-1){l.end=new Date(l.start.getFullYear(),l.start.getMonth(),l.start.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds());l.tail=true}else{l.isAllDay=true;l.middle=true}if(m.date.getDate(l.end)<=this.endDate()&&l.start>=this.startDate()||m.date.getDate(l.start).getTime()==this.endDate().getTime())t.push(l)}}}return new m.data.Query(t).sort([{field:"start",dir:"asc"},{field:"end",dir:"asc"}]).groupBy({field:"startDate"}).toArray()},_renderTaskGroups:function(e,t){var r=[];var u=this.options.editable;var c=u&&u.destroy!==false&&!this._isMobile();var a=this._isMobile();var h=this._groupedView._getSumOfItemsForDate(e);var f=this._groupedView._getGroupsInDay(e,t);var p=0;for(var s=0;s<e.length;s++){var n=e[s].value;var i=e[s].items;var g=m.date.isToday(n);for(var o=0;o<i.length;o++){var l=i[o];var d=[];var v=!a?d:[];this._groupedView._renderTaskGroupsCells(v,t,s,o,f,h,n,p);p++;if(o===0)if(a){v.push(m.format('<td class="k-scheduler-datecolumn {1}" colspan="2">{0}</td>',this._dateTemplate({date:n,isMobile:a}),!this.groupedResources.length?"k-first":""));r.push('<tr role="row" aria-selected="false"'+(g?' class="k-today">':">")+v.join("")+"</tr>")}else this._groupedView._renderDateCell(d,t,i,n,s,e);if(l.head)l.format="{0:t}";else if(l.tail)l.format="{1:t}";else l.format="{0:t}-{1:t}";l.resources=this.eventResources(l);d.push(m.format('<td class="k-scheduler-timecolumn {4}"><div>{0}{1}{2}</div></td><td>{3}</td>',l.tail||l.middle?'<span class="k-icon k-i-arrow-60-left"></span>':"",this._timeTemplate(l.clone({start:l._startTime||l.start,end:l.endTime||l.end})),l.head||l.middle?'<span class="k-icon k-i-arrow-60-right"></span>':"",this._eventTemplate(l.clone({showDelete:c,messages:this.options.messages})),!this.groupedResources.length&&a?"k-first":""));r.push('<tr role="row" aria-selected="false"'+(g?' class="k-today">':">")+d.join("")+"</tr>")}}return r.join("")},_renderTaskGroupsCells:function(e,t){var r=this._isMobile();for(var a=0;a<t.length;a++)e.push(m.format('<td class="k-scheduler-groupcolumn{2}" rowspan="{0}">{1}</td>',t[a].rowSpan,this._groupTemplate({value:t[a].text,isMobile:r}),t[a].className))},render:function(e){var t=this.content.find("table").empty();var r=[];if(e.length>0){var a=this.groupedResources;t.append(n("<tbody>"));if(a.length){r=this._createGroupConfiguration(e,a,null);this._groupsByDate=[];this._renderGroups(r,t.find("tbody"),[]);this._groupedView._renderDates(t.find("tbody"))}else{r=this._tasks(e);t.find("tbody").append(this._renderTaskGroups(r,[]))}}var s=this._eventsList=u(r);this._angularItems(t,s);this._aria();this.refreshLayout();this.trigger("activate")},_angularItems:function(r,a){this.angular("compile",function(){var t=[],e=a.map(function(e){t.push({dataItem:e});return r.find(".k-task["+m.attr("uid")+"="+e.uid+"]")});return{elements:e,data:t}})},_renderGroups:function(e,t,r){for(var a=0,s=e.length;a<s;a++){var n=this._groupedView._getParents(r);n.push(e[a]);this._groupedView._getGroupsByDate(e,a,n);if(e[a].groups)this._renderGroups(e[a].groups,t,n);else this._groupedView._renderTaskGroups(t,e[a].items,n)}},_createGroupConfiguration:function(u,e,r){var a=e[0];var t=[];var s=a.dataSource.view();var c=this._isMobile();s=s.filter(function(e){var t=m.getter(a.dataParentValueField)(e);return t===null||t===undefined||r&&t===r.value});for(var n=0;n<s.length;n++){var i=v(a,s[n]);var o=new m.data.Query(u).filter({field:a.field,operator:p.SchedulerView.groupEqFilter(i)}).toArray();if(o.length){var h=this._tasks(o);var f=r?"":" k-first";if(n===s.length-1&&(!r||r.className.indexOf("k-last")>-1))f+=" k-last";var l={text:m.getter(a.dataTextField)(s[n]),value:i,rowSpan:0,className:f};if(e.length>1){l.groups=this._createGroupConfiguration(o,e.slice(1),l);if(r)r.rowSpan+=l.rowSpan}else{l.items=h;var d=g(l.items);if(c)d+=l.items.length;l.rowSpan=d;if(r)r.rowSpan+=d}t.push(l)}}return t},_resourceBySlot:function(){return{}},selectionByElement:function(e){var t,r;e=n(e);if(e.hasClass("k-scheduler-datecolumn")||!this._eventsList.length)return;if(e.is(".k-task"))e=e.closest("td");if(this._isMobile()){var a=e.parent();t=a.parent().children().filter(function(){return n(this).children(":not(.k-scheduler-datecolumn, .k-scheduler-groupcolumn)").length}).index(a)}else t=e.parent().index();r=this._eventsList[t];return{index:t,start:r.start,end:r.end,isAllDay:r.isAllDay,uid:r.uid}},select:function(e){this.clearSelection();var t=this.table.find(".k-task").eq(e.index).closest("tr").addClass("k-state-selected").attr("aria-selected",true)[0];this.current(t)},move:function(e,t){var r=false;var a=e.index;if(t==m.keys.UP){a--;r=true}else if(t==m.keys.DOWN){a++;r=true}if(r){var s=this._eventsList[a];if(s){e.start=s.start;e.end=s.end;e.isAllDay=s.isAllDay;e.events=[s.uid];e.index=a}}return r},moveToEvent:function(){return false},constrainSelection:function(e){var t=this._eventsList[0];if(t){e.start=t.start;e.end=t.end;e.isAllDay=t.isAllDay;e.events=[t.uid];e.index=0}},isInRange:function(){return true},destroy:function(){if(this.element)this.element.off(r);p.SchedulerView.fn.destroy.call(this)},options:{title:"Agenda",name:"agenda",editable:true,selectedDateFormat:"{0:D}-{1:D}",selectedShortDateFormat:"{0:d} - {1:d}",selectedMobileDateFormat:"{0: MMM} {0:dd} - {1:dd}",eventTemplate:"#:title#",eventTimeTemplate:"#if(data.isAllDay) {#"+"#=this.options.messages.allDay#"+"#} else { #"+"#=kendo.format(format, start, end)#"+"# } #",eventDateTemplate:e,eventGroupTemplate:s,messages:{event:"Event",date:"Date",time:"Time",allDay:"all day"}}}),window.kendo})?a.apply(t,r):a)||(e.exports=t)}});