{"version":3,"file":"kendo.scheduler.agendaview.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoscheduler","agendaview","js","this","$","kendo","window","ui","encode","htmlEncode","NS","ROLE","EVENT_WRAPPER_TEMPLATE","task","title","replace","attr","resources","isException","icon","isRecurring","template","showDelete","messages","AgendaGroupedView","Class","extend","init","view","_view","_getColumns","groupHeaders","columns","concat","_getGroupsInDay","_getSumOfItemsForDate","_renderTaskGroupsCells","headerCells","groups","taskGroupIndex","taskIndex","length","_renderDateCell","tableRow","tasks","date","tasksGroups","isMobile","_isMobile","push","format","_dateTemplate","_renderDates","_getParents","parentGroups","splice","_getGroupsByDate","_renderTaskGroups","table","items","parents","append","AgendaGroupedByDateView","slice","columnsWithoutDate","_compareDateGroups","currentGroup","prevGroup","index","text","groupsInDay","tasksGroupIdx","itemsIdx","idx","lastItemValue","i","sumOfItemsForDate","groupsRowSpanIndex","_groupTemplate","value","className","sortedArray","_groupsByDate","sort","a","b","array","getTime","dateExists","rowSpan","result","resourceValue","resource","item","valuePrimitive","getter","dataValueField","flattenGroup","shift","apply","call","scheduler","AgendaView","SchedulerView","element","options","fn","_groupedView","_getGroupedView","editable","delete","create","update","_eventTemplate","eventDateTemplate","eventGroupTemplate","_timeTemplate","eventTimeTemplate","on","_renderLayout","refreshLayout","name","_aria","children","find","clearSelection","_isVirtualized","_isGroupedByDate","_mouseenter","e","currentTarget","addClass","_mouseleave","removeClass","_remove","preventDefault","trigger","uid","closest","nextDate","nextDay","startDate","_startDate","endDate","_endDate","previousDate","previousDay","addDays","createLayout","_layout","_footer","time","event","groupedResources","_tasks","events","start","end","isAllDay","getDate","eventStartDate","offsetCompensation","getTimezoneOffset","eventDurationInDays","Math","ceil","MS_PER_DAY","clone","head","day","Date","getFullYear","getMonth","getHours","getMinutes","getSeconds","getMilliseconds","tail","middle","data","Query","field","dir","groupBy","toArray","tableRows","destroy","today","isToday","join","eventResources","_startTime","endTime","eventTemplate","render","content","empty","_createGroupConfiguration","_renderGroups","taskGroups","applyStylesFromKendoAttributes","_eventsList","flattenTaskGroups","parent","configuration","dataSource","filter","itemParentValue","dataParentValueField","dataIndex","tmp","operator","groupEqFilter","indexOf","obj","dataTextField","span","_resourceBySlot","selectionByElement","cell","hasClass","is","select","selection","row","eq","current","move","key","handled","keys","UP","DOWN","moveToEvent","constrainSelection","isInRange","off","selectedDateFormat","selectedShortDateFormat","selectedMobileDateFormat","ref","allDay","toString","DESKTOP_EVENT_DATE_TEMPLATE","jQuery"],"sources":["kendo.scheduler.agendaview.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.scheduler.view.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.scheduler.view', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoscheduler = global.kendoscheduler || {}, global.kendoscheduler.agendaview = global.kendoscheduler.agendaview || {}, global.kendoscheduler.agendaview.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"scheduler.agendaview\",\n name: \"Scheduler Agenda View\",\n category: \"web\",\n description: \"The Scheduler Agenda View\",\n depends: [\"scheduler.view\", \"icons\"],\n hidden: true\n };\n\n (function($) {\n var kendo = window.kendo,\n ui = kendo.ui,\n encode = kendo.htmlEncode,\n NS = \".kendoAgendaView\",\n ROLE = \"role\";\n\n var EVENT_WRAPPER_TEMPLATE = function (task) { return \"
\" +\n \"\" + (task.resources[0] ? (\"\") : '') +\n \"\" + (task.isException() ? kendo.ui.icon(\"arrows-no-repeat\") :\n (task.isRecurring() ? kendo.ui.icon(\"arrow-rotate-cw\") : '')) +\n \"\" + (kendo.template(task.template)(task)) + \"\" +\n \"\" + (task.showDelete ? (\"\" + (kendo.ui.icon(\"x\")) + \"\") : '') +\n '
'; };\n\n var DESKTOP_EVENT_DATE_TEMPLATE = function (ref) {\n var date = ref.date;\n\n return '' +\n kendo.toString(date, \"dd\") +\n '' +\n '' +\n kendo.toString(date,\"dddd\") +\n '' +\n '' +\n kendo.toString(date, \"y\") +\n '';\n };\n\n var MOBILE_EVENT_DATE_TEMPLATE = function (ref) {\n var date = ref.date;\n\n return '
' +\n '' +\n \"\" + (kendo.toString(date, \"dd\")) + \"\" +\n ' ' +\n \"\" + (kendo.toString(date, \"MMMM\")) + \"\" +\n '' +\n '' +\n kendo.toString(date, \"dddd\") +\n '' +\n '
';\n };\n\n var EVENT_DATE_TEMPLATE = function (data) { return (data.isMobile ? MOBILE_EVENT_DATE_TEMPLATE(data) : DESKTOP_EVENT_DATE_TEMPLATE(data)); };\n\n var EVENT_GROUP_TEMPLATE = function (ref) {\n var isMobile = ref.isMobile;\n var value = ref.value;\n\n return (!isMobile ?\n '' +\n value +\n '' :\n '' +\n value +\n '');\n };\n\n var AgendaGroupedView = kendo.Class.extend({\n init: function(view) {\n this._view = view;\n },\n\n _getColumns: function(groupHeaders, columns) {\n return groupHeaders.concat(columns);\n },\n _getGroupsInDay: function() {\n return [];\n },\n\n _getSumOfItemsForDate: function() {\n return 0;\n },\n\n _renderTaskGroupsCells: function(headerCells, groups, taskGroupIndex, taskIndex) {\n var view = this._view;\n\n if (taskGroupIndex === 0 && taskIndex === 0 && groups.length) {\n view._renderTaskGroupsCells(headerCells, groups);\n }\n },\n\n _renderDateCell: function(tableRow, groups, tasks, date, taskGroupIndex, tasksGroups) {\n var view = this._view;\n var isMobile = view._isMobile();\n\n tableRow.push(kendo.format(\n '{1}',\n tasks.length,\n view._dateTemplate({ date: date, isMobile: isMobile }),\n taskGroupIndex == tasksGroups.length - 1 && !groups.length ? \" k-last\" : \"\",\n !groups.length ? \" k-first\" : \"\"\n ));\n },\n\n _renderDates: function() {\n return undefined;\n },\n\n _getParents: function(parentGroups) {\n return parentGroups.splice(0);\n },\n\n _getGroupsByDate: function() {\n return undefined;\n },\n\n _renderTaskGroups: function(table, items, parents) {\n var view = this._view;\n\n table.append(view._renderTaskGroups(items, parents));\n }\n\n });\n\n var AgendaGroupedByDateView = kendo.Class.extend({\n init: function(view) {\n this._view = view;\n },\n\n _getColumns: function(groupHeaders, columns) {\n var view = this._view;\n\n if (view._isMobile()) {\n return groupHeaders.concat(columns);\n } else {\n var date = columns.slice(0, 1);\n var columnsWithoutDate = columns.slice(1);\n\n return date.concat(groupHeaders).concat(columnsWithoutDate);\n }\n },\n\n _compareDateGroups: function(currentGroup, prevGroup, index) {\n if (currentGroup[index].text == prevGroup[index].text) {\n if (index === 0) {\n return true;\n } else {\n return this._compareDateGroups(currentGroup, prevGroup, index - 1);\n }\n }\n\n return false;\n },\n\n _getGroupsInDay: function(tasksGroups, groups) {\n var groupsInDay = [];\n var prevGroup = null;\n\n for (var tasksGroupIdx = 0; tasksGroupIdx < tasksGroups.length; tasksGroupIdx++) {\n for (var itemsIdx = 0; itemsIdx < tasksGroups[tasksGroupIdx].items.length; itemsIdx++) {\n var idx = 0;\n\n if (groupsInDay.length === 0) {\n for (idx; idx < groups[tasksGroupIdx].length; idx++) {\n groupsInDay.push([1]);\n }\n } else {\n for (idx; idx < groups[tasksGroupIdx].length; idx++) {\n\n if (this._compareDateGroups(groups[tasksGroupIdx], prevGroup, idx)) {\n groupsInDay[idx][groupsInDay[idx].length - 1]++;\n } else {\n var lastItemValue = groupsInDay[idx][groupsInDay[idx].length - 1] - 1;\n for (var i = 0; i < lastItemValue; i++) {\n groupsInDay[idx].push(0);\n }\n groupsInDay[idx].push(1);\n }\n }\n }\n prevGroup = groups[tasksGroupIdx];\n }\n }\n\n return groupsInDay;\n },\n\n _getSumOfItemsForDate: function(tasksGroups) {\n var sumOfItemsForDate = 0;\n\n for (var i = 0; i < tasksGroups.length; i++) {\n\n sumOfItemsForDate += tasksGroups[i].items.length;\n }\n return sumOfItemsForDate;\n },\n\n _renderTaskGroupsCells: function(headerCells, groups, taskGroupIndex, taskIndex, groupsInDay, sumOfItemsForDate, date, groupsRowSpanIndex) {\n var view = this._view;\n var isMobile = view._isMobile();\n\n if (!isMobile) {\n if (taskGroupIndex === 0 && taskIndex === 0) {\n headerCells.push(kendo.format(\n '{1}',\n sumOfItemsForDate,\n view._dateTemplate({ date: date, isMobile: isMobile })\n ));\n }\n\n for (var idx = 0; idx < groups[taskGroupIndex].length; idx++) {\n if (groupsInDay[idx][groupsRowSpanIndex]) {\n headerCells.push(kendo.format(\n '{1}',\n groupsInDay[idx][groupsRowSpanIndex],\n view._groupTemplate({ value: groups[taskGroupIndex][idx].text, isMobile: isMobile }),\n groups[taskGroupIndex][idx].className\n ));\n }\n }\n } else {\n if (taskGroupIndex === 0 && taskIndex === 0 && groups.length) {\n view._renderTaskGroupsCells(headerCells, groups);\n }\n }\n },\n\n _renderDateCell: function() {\n return undefined;\n },\n\n _renderDates: function(table) {\n var view = this._view;\n var sortedArray = view._groupsByDate.sort(function(a, b) {\n return a.array[0].value.getTime() - b.array[0].value.getTime();\n });\n\n for (var i = 0; i < sortedArray.length; i++) {\n table.append(view._renderTaskGroups(sortedArray[i].array, sortedArray[i].groups));\n }\n },\n\n _getParents: function(parentGroups) {\n return parentGroups.slice(0);\n },\n\n _getGroupsByDate: function(groups, idx, parents) {\n var view = this._view;\n\n if (groups[idx].items) {\n for (var taskGroupIndex = 0; taskGroupIndex < groups[idx].items.length; taskGroupIndex++) {\n var date = groups[idx].items[taskGroupIndex].value;\n var dateExists = false;\n\n for (var i = 0; i < view._groupsByDate.length; i++) {\n if (view._groupsByDate[i].array[0].value.getTime() === date.getTime()) {\n dateExists = true;\n view._groupsByDate[i].array.push(groups[idx].items[taskGroupIndex]);\n view._groupsByDate[i].groups.push(parents);\n }\n }\n\n if (!dateExists) {\n view._groupsByDate.push({\n array: [groups[idx].items[taskGroupIndex]],\n groups: [parents]\n });\n }\n }\n }\n },\n\n _renderTaskGroups: function() {\n return undefined;\n }\n\n });\n\n kendo.ui.scheduler.AgendaGroupedView = AgendaGroupedView;\n kendo.ui.scheduler.AgendaGroupedByDateView = AgendaGroupedByDateView;\n\n\n ui.AgendaView = ui.SchedulerView.extend({\n init: function(element, options) {\n ui.SchedulerView.fn.init.call(this, element, options);\n\n this._groupedView = this._getGroupedView();\n\n options = this.options;\n\n if (options.editable) {\n options.editable = $.extend(\n { \"delete\": true },\n options.editable,\n { create: false, update: false },\n { messages: options.messages }\n );\n }\n\n this.title = options.title;\n\n this._eventTemplate = kendo.template(EVENT_WRAPPER_TEMPLATE);\n this._dateTemplate = kendo.template(options.eventDateTemplate);\n this._groupTemplate = kendo.template(options.eventGroupTemplate);\n this._timeTemplate = kendo.template(options.eventTimeTemplate);\n\n this.element.on(\"mouseenter\" + NS, \".k-scheduler-agenda .k-scheduler-content tr\", \"_mouseenter\")\n .on(\"mouseleave\" + NS, \".k-scheduler-agenda .k-scheduler-content tr\", \"_mouseleave\")\n .on(\"click\" + NS, \".k-scheduler-agenda .k-scheduler-content .k-link:has(.k-i-x),.k-scheduler-agenda .k-scheduler-content .k-link:has(.k-svg-i-x)\", \"_remove\");\n\n this._renderLayout(options.date);\n this.refreshLayout();\n },\n\n name: \"agenda\",\n\n _aria: function() {\n var table = this.table;\n\n table.attr(ROLE, \"grid\");\n\n table.children(\"tbody\").attr(ROLE, \"none\");\n\n table.find(\"table\").attr(ROLE, \"none\");\n table.find(\"table > tbody\").attr(ROLE, \"rowgroup\");\n table.find(\"table tr\").attr(ROLE, \"row\");\n table.find(\"table td\").attr(ROLE, \"gridcell\");\n\n table.find(\".k-scheduler-header-wrap th\").attr(ROLE, \"columnheader\");\n table.find(\".k-scheduler-content .k-scheduler-datecolumn, .k-scheduler-content .k-scheduler-groupcolumn\").attr(ROLE, \"rowheader\");\n },\n\n clearSelection: function() {\n this.element.find(\".k-selected\").attr(\"aria-selected\", false);\n\n kendo.ui.SchedulerView.fn.clearSelection.call(this);\n },\n\n _isVirtualized: function() {\n return false;\n },\n _getGroupedView: function() {\n if (this._isGroupedByDate()) {\n return new kendo.ui.scheduler.AgendaGroupedByDateView(this);\n } else {\n return new kendo.ui.scheduler.AgendaGroupedView(this);\n }\n },\n\n _mouseenter: function(e) {\n $(e.currentTarget).addClass(\"k-hover\");\n },\n\n _mouseleave: function(e) {\n $(e.currentTarget).removeClass(\"k-hover\");\n },\n\n _remove: function(e) {\n e.preventDefault();\n\n this.trigger(\"remove\", {\n uid: $(e.currentTarget).closest(\".k-task\").attr(kendo.attr(\"uid\"))\n });\n },\n\n nextDate: function() {\n return kendo.date.nextDay(this.startDate());\n },\n\n startDate: function() {\n return this._startDate;\n },\n\n endDate: function() {\n return this._endDate;\n },\n\n previousDate: function() {\n return kendo.date.previousDay(this.startDate());\n },\n\n _renderLayout: function(date) {\n this._startDate = date;\n this._endDate = kendo.date.addDays(date, 7);\n this.createLayout(this._layout());\n this._footer();\n this.table.addClass(\"k-scheduler-agenda\");\n },\n\n _layout: function() {\n var columns = [\n { text: this.options.messages.time, className: \"k-scheduler-timecolumn\" },\n { text: this.options.messages.event }\n ];\n\n if (!this._isMobile()) {\n columns.splice(0, 0, { text: this.options.messages.date, className: \"k-scheduler-datecolumn\" });\n }\n\n var resources = this.groupedResources;\n if (resources.length) {\n var groupHeaders = [];\n for (var idx = 0; idx < resources.length; idx++) {\n groupHeaders.push({ text: \"\", className: \"k-scheduler-groupcolumn\" });\n }\n\n columns = this._groupedView._getColumns(groupHeaders, columns);\n }\n\n return {\n columns: columns\n };\n },\n\n _tasks: function(events) {\n var tasks = [];\n\n for (var idx = 0; idx < events.length; idx++) {\n var event = events[idx];\n var start = event.start;\n var end = event.isAllDay ? kendo.date.getDate(event.end) : event.end;\n var eventStartDate = kendo.date.getDate(start);\n var offsetCompensation = (eventStartDate.getTimezoneOffset() - end.getTimezoneOffset()) * 60000;\n\n var eventDurationInDays = Math.ceil((end - eventStartDate + offsetCompensation) / kendo.date.MS_PER_DAY);\n\n if (event.isAllDay) {\n eventDurationInDays += 1;\n }\n\n var task = event.clone();\n task.startDate = kendo.date.getDate(start);\n\n if (task.startDate >= this.startDate()) {\n tasks.push(task);\n }\n\n if (eventDurationInDays > 1) {\n task.end = kendo.date.nextDay(start);\n task.head = true;\n for (var day = 1; day < eventDurationInDays; day++) {\n start = task.end;\n task = event.clone();\n task.start = task.startDate = kendo.date.getDate(start);\n task.end = kendo.date.nextDay(start);\n if (day == eventDurationInDays - 1) {\n task.end = new Date(task.start.getFullYear(), task.start.getMonth(), task.start.getDate(), end.getHours(), end.getMinutes(), end.getSeconds(), end.getMilliseconds());\n task.tail = true;\n } else {\n task.isAllDay = true;\n task.middle = true;\n }\n\n if ((kendo.date.getDate(task.end) <= this.endDate() && task.start >= this.startDate()) || kendo.date.getDate(task.start).getTime() == this.endDate().getTime()) {\n tasks.push(task);\n }\n }\n }\n }\n\n return new kendo.data.Query(tasks).sort([{ field: \"start\", dir: \"asc\" }, { field: \"end\", dir: \"asc\" }]).groupBy({ field: \"startDate\" }).toArray();\n },\n\n _renderTaskGroups: function(tasksGroups, groups) {\n var tableRows = [];\n var editable = this.options.editable;\n var showDelete = editable && editable.destroy !== false && !this._isMobile();\n var isMobile = this._isMobile();\n var sumOfItemsForDate = this._groupedView._getSumOfItemsForDate(tasksGroups);\n var groupsInDay = this._groupedView._getGroupsInDay(tasksGroups, groups);\n var groupsRowSpanIndex = 0;\n\n for (var taskGroupIndex = 0; taskGroupIndex < tasksGroups.length; taskGroupIndex++) {\n var date = tasksGroups[taskGroupIndex].value;\n\n var tasks = tasksGroups[taskGroupIndex].items;\n\n var today = kendo.date.isToday(date);\n\n for (var taskIndex = 0; taskIndex < tasks.length; taskIndex++) {\n var task = tasks[taskIndex];\n\n var tableRow = [];\n\n var headerCells = !isMobile ? tableRow : [];\n\n this._groupedView._renderTaskGroupsCells(headerCells, groups, taskGroupIndex, taskIndex, groupsInDay, sumOfItemsForDate, date, groupsRowSpanIndex);\n\n groupsRowSpanIndex++;\n if (taskIndex === 0) {\n if (isMobile) {\n headerCells.push(kendo.format(\n '{0}',\n this._dateTemplate({ date: date, isMobile: isMobile }),\n !this.groupedResources.length ? \"k-first\" : \"\"\n ));\n\n tableRows.push('' : \">\") + headerCells.join(\"\") + \"\");\n } else {\n this._groupedView._renderDateCell(tableRow, groups, tasks, date, taskGroupIndex, tasksGroups);\n }\n }\n\n if (task.head) {\n task.format = \"{0:t}\";\n } else if (task.tail) {\n task.format = \"{1:t}\";\n } else {\n task.format = \"{0:t}-{1:t}\";\n }\n\n task.resources = this.eventResources(task);\n\n tableRow.push(kendo.format(\n '
{0}{1}{2}
{3}',\n task.tail || task.middle ? kendo.ui.icon(\"caret-alt-left\") : \"\",\n this._timeTemplate(task.clone({ start: task._startTime || task.start, end: task.endTime || task.end, messages: this.options.messages })),\n task.head || task.middle ? kendo.ui.icon(\"caret-alt-right\") : \"\",\n this._eventTemplate(task.clone({ showDelete: showDelete, messages: this.options.messages, template: this.options.eventTemplate })),\n !this.groupedResources.length && isMobile ? \"k-first\" : \"\"\n ));\n\n tableRows.push('' : \">\") + tableRow.join(\"\") + \"\");\n }\n }\n\n return tableRows.join(\"\");\n },\n\n _renderTaskGroupsCells: function(headerCells, groups) {\n var isMobile = this._isMobile();\n\n for (var idx = 0; idx < groups.length; idx++) {\n headerCells.push(kendo.format(\n '{1}',\n groups[idx].rowSpan,\n this._groupTemplate({ value: groups[idx].text, isMobile: isMobile }),\n groups[idx].className\n ));\n }\n },\n\n render: function(events) {\n var table = this.content.find(\"table\").empty();\n var groups = [];\n\n if (events.length > 0) {\n var resources = this.groupedResources;\n\n table.append($(\"\"));\n\n if (resources.length) {\n groups = this._createGroupConfiguration(events, resources, null);\n this._groupsByDate = [];\n this._renderGroups(groups, table.find(\"tbody\"), []);\n this._groupedView._renderDates(table.find(\"tbody\"));\n } else {\n groups = this._tasks(events);\n var taskGroups = $(this._renderTaskGroups(groups, []));\n kendo.applyStylesFromKendoAttributes(taskGroups, [\"background-color\"]);\n\n table.find(\"tbody\").append(taskGroups);\n }\n }\n\n var items = this._eventsList = flattenTaskGroups(groups);\n\n this._aria();\n this.refreshLayout();\n this.trigger(\"activate\");\n },\n\n _renderGroups: function(groups, table, parentGroups) {\n for (var idx = 0, length = groups.length; idx < length; idx++) {\n var parents = this._groupedView._getParents(parentGroups);\n\n parents.push(groups[idx]);\n this._groupedView._getGroupsByDate(groups, idx, parents);\n\n if (groups[idx].groups) {\n this._renderGroups(groups[idx].groups, table, parents);\n } else {\n this._groupedView._renderTaskGroups(table, groups[idx].items, parents);\n }\n }\n },\n\n _createGroupConfiguration: function(events, resources, parent) {\n var resource = resources[0];\n var configuration = [];\n var data = resource.dataSource.view();\n var isMobile = this._isMobile();\n\n data = data.filter(function(item) {\n var itemParentValue = kendo.getter(resource.dataParentValueField)(item);\n\n return itemParentValue === null || itemParentValue === undefined || (parent && itemParentValue === parent.value);\n });\n\n for (var dataIndex = 0; dataIndex < data.length; dataIndex++) {\n var value = resourceValue(resource, data[dataIndex]);\n\n var tmp = new kendo.data.Query(events).filter({ field: resource.field, operator: ui.SchedulerView.groupEqFilter(value) }).toArray();\n\n if (tmp.length) {\n var tasks = this._tasks(tmp);\n var className = parent ? \"\" : \" k-first\";\n\n if (dataIndex === data.length - 1 && (!parent || parent.className.indexOf(\"k-last\") > -1)) {\n className += \" k-last\";\n }\n\n var obj = {\n text: kendo.getter(resource.dataTextField)(data[dataIndex]),\n value: value,\n rowSpan: 0,\n className: className\n };\n\n if (resources.length > 1) {\n obj.groups = this._createGroupConfiguration(tmp, resources.slice(1), obj);\n if (parent) {\n parent.rowSpan += obj.rowSpan;\n }\n } else {\n obj.items = tasks;\n var span = rowSpan(obj.items);\n\n if (isMobile) {\n span += obj.items.length;\n }\n\n obj.rowSpan = span;\n if (parent) {\n parent.rowSpan += span;\n }\n }\n configuration.push(obj);\n }\n }\n\n return configuration;\n },\n\n // TODO: this method for Agenda view has never worked properly\n // it used to return wrong resources\n // to be clearer the deficit, it now does not return any resources\n _resourceBySlot: function() {\n return {};\n },\n\n selectionByElement: function(cell) {\n var index, event;\n cell = $(cell);\n if (cell.hasClass(\"k-scheduler-datecolumn\") || !this._eventsList.length) {\n return;\n }\n\n if (cell.is(\".k-task\")) {\n cell = cell.closest(\"td\");\n }\n\n if (this._isMobile()) {\n var parent = cell.parent();\n index = parent.parent().children()\n .filter(function() {\n return $(this).children(\":not(.k-scheduler-datecolumn, .k-scheduler-groupcolumn)\").length;\n })\n .index(parent);\n } else {\n index = cell.parent().index();\n }\n\n event = this._eventsList[index];\n\n return {\n index: index,\n start: event.start,\n end: event.end,\n isAllDay: event.isAllDay,\n uid: event.uid\n };\n },\n\n select: function(selection) {\n this.clearSelection();\n\n var row = this.table\n .find(\".k-task\")\n .eq(selection.index)\n .closest(\"tr\")\n .addClass(\"k-selected\")\n .attr(\"aria-selected\", true)[0];\n\n this.current(row);\n },\n\n move: function(selection, key) {\n var handled = false;\n var index = selection.index;\n\n if (key == kendo.keys.UP) {\n index--;\n handled = true;\n } else if (key == kendo.keys.DOWN) {\n index++;\n handled = true;\n }\n\n if (handled) {\n var event = this._eventsList[index];\n if (event) {\n selection.start = event.start;\n selection.end = event.end;\n selection.isAllDay = event.isAllDay;\n selection.events = [event.uid];\n selection.index = index;\n }\n }\n\n return handled;\n },\n\n moveToEvent: function() {\n return false;\n },\n\n constrainSelection: function(selection) {\n var event = this._eventsList[0];\n if (event) {\n selection.start = event.start;\n selection.end = event.end;\n selection.isAllDay = event.isAllDay;\n selection.events = [event.uid];\n selection.index = 0;\n }\n },\n\n isInRange: function() {\n return true;\n },\n\n destroy: function() {\n if (this.element) {\n this.element.off(NS);\n }\n\n ui.SchedulerView.fn.destroy.call(this);\n },\n\n options: {\n title: \"Agenda\",\n name: \"agenda\",\n editable: true,\n selectedDateFormat: \"{0:D}-{1:D}\",\n selectedShortDateFormat: \"{0:d} - {1:d}\",\n selectedMobileDateFormat: \"{0: MMM} {0:dd} - {1:dd}\",\n eventTemplate: function (ref) {\n var title = ref.title;\n\n return encode(title);\n },\n eventTimeTemplate: function (ref) {\n var isAllDay = ref.isAllDay;\n var messages = ref.messages;\n var format = ref.format;\n var start = ref.start;\n var end = ref.end;\n\n return (isAllDay ? messages.allDay : kendo.format(format, start, end));\n },\n eventDateTemplate: EVENT_DATE_TEMPLATE,\n eventGroupTemplate: EVENT_GROUP_TEMPLATE,\n messages: {\n event: \"Event\",\n date: \"Date\",\n time: \"Time\",\n allDay: \"all day\"\n }\n }\n });\n\n function rowSpan(tasks) {\n var result = 0;\n\n for (var idx = 0, length = tasks.length; idx < length; idx++) {\n result += tasks[idx].items.length;\n }\n\n return result;\n }\n\n function resourceValue(resource, item) {\n if (resource.valuePrimitive) {\n item = kendo.getter(resource.dataValueField)(item);\n }\n return item;\n }\n\n function flattenTaskGroups(groups) {\n var idx = 0,\n length = groups.length,\n item,\n result = [];\n\n for (; idx < length; idx++) {\n item = groups[idx];\n if (item.groups) {\n item = flattenGroup(item.groups);\n result = result.concat(item);\n } else {\n result = result.concat(flattenGroup(item.items));\n }\n }\n\n return result;\n }\n\n function flattenGroup(groups) {\n var items = [].concat(groups),\n item = items.shift(),\n result = [],\n push = [].push;\n while (item) {\n if (item.groups) {\n push.apply(items, item.groups);\n } else if (item.items) {\n push.apply(items, item.items);\n } else {\n push.call(result, item);\n }\n\n item = items.shift();\n }\n\n return result;\n }\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}