{"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","uid","resources","color","isException","icon","isRecurring","template","showDelete","messages","destroy","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","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","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","allDay","toString","MOBILE_EVENT_DATE_TEMPLATE","DESKTOP_EVENT_DATE_TEMPLATE","jQuery"],"sources":["kendo.scheduler.agendaview.js"],"mappings":"CAAA,SAAWA,EAAQC,GACI,iBAAZC,SAA0C,oBAAXC,OAAyBA,OAAOD,QAAUD,EAAQG,QAAQ,2BAA4BA,QAAQ,mBAClH,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,2BAA4B,mBAAoBJ,KACpGD,EAA+B,oBAAfO,WAA6BA,WAAaP,GAAUQ,MAAcC,eAAiBT,EAAOS,gBAAkB,CAAC,EAAGT,EAAOS,eAAeC,WAAaV,EAAOS,eAAeC,YAAc,CAAC,EAAGV,EAAOS,eAAeC,WAAWC,GAAKV,IACrP,CAJD,CAIGW,MAAM,WAizBL,OAvyBI,SAAUC,GACN,IAAIC,EAAQC,OAAOD,MACfE,EAAKF,EAAME,GACXC,EAASH,EAAMI,WACfC,EAAK,mBACLC,EAAO,OAEPC,EAA0BC,GAAS,8BAA8BL,GAAQK,EAAKC,OAAS,IAAIC,QAAQ,KAAK,UAAWV,EAAMW,KAAK,WAAWH,EAAKI,SAC3IJ,EAAKK,UAAU,GAAK,kCAAkCb,EAAMW,KAAK,8BAA8BH,EAAKK,UAAU,GAAGC,iBAAmB,IACvI,GAAGN,EAAKO,cAAgBf,EAAME,GAAGc,KAAK,oBACrCR,EAAKS,cAAgBjB,EAAME,GAAGc,KAAK,mBAAqB,KACzD,uCAAuChB,EAAMkB,SAASV,EAAKU,SAApBlB,CAA8BQ,aAClEA,EAAKW,WAAa,oDAAoDX,EAAKY,SAASC,wBAAwBb,EAAKY,SAASC,YAAYrB,EAAME,GAAGc,KAAK,WAAa,IACpK,SAiCAM,EAAoBtB,EAAMuB,MAAMC,OAAO,CACvCC,KAAM,SAASC,GACX5B,KAAK6B,MAAQD,CACjB,EAEAE,YAAa,SAASC,EAAcC,GAChC,OAAOD,EAAaE,OAAOD,EAC/B,EACAE,gBAAiB,WACb,MAAO,EACX,EAEAC,sBAAuB,WACnB,OAAO,CACX,EAEAC,uBAAwB,SAASC,EAAaC,EAAQC,EAAgBC,GAClE,IAAIZ,EAAO5B,KAAK6B,MAEO,IAAnBU,GAAsC,IAAdC,GAAmBF,EAAOG,QAClDb,EAAKQ,uBAAuBC,EAAaC,EAEjD,EAEAI,gBAAiB,SAASC,EAAUL,EAAQM,EAAOC,EAAMN,EAAgBO,GACrE,IAAIlB,EAAO5B,KAAK6B,MACZkB,EAAWnB,EAAKoB,YAEpBL,EAASM,KAAK/C,EAAMgD,OAChB,kEACAN,EAAMH,OACNb,EAAKuB,cAAc,CAAEN,KAAMA,EAAME,SAAUA,IAC3CR,GAAkBO,EAAYL,OAAS,GAAMH,EAAOG,OAAqB,GAAZ,UAC5DH,EAAOG,OAAsB,GAAb,YAEzB,EAEAW,aAAc,WAEd,EAEAC,YAAa,SAASC,GAClB,OAAOA,EAAaC,OAAO,EAC/B,EAEAC,iBAAkB,WAElB,EAEAC,kBAAmB,SAASC,EAAOC,EAAOC,GACtC,IAAIhC,EAAO5B,KAAK6B,MAEhB6B,EAAMG,OAAOjC,EAAK6B,kBAAkBE,EAAOC,GAC/C,IAIAE,EAA0B5D,EAAMuB,MAAMC,OAAO,CAC7CC,KAAM,SAASC,GACX5B,KAAK6B,MAAQD,CACjB,EAEAE,YAAa,SAASC,EAAcC,GAGhC,GAFWhC,KAAK6B,MAEPmB,YACL,OAAOjB,EAAaE,OAAOD,GAE3B,IAAIa,EAAOb,EAAQ+B,MAAM,EAAG,GACxBC,EAAqBhC,EAAQ+B,MAAM,GAEvC,OAAOlB,EAAKZ,OAAOF,GAAcE,OAAO+B,EAEhD,EAEAC,mBAAoB,SAASC,EAAcC,EAAWC,GAClD,OAAIF,EAAaE,GAAOC,MAAQF,EAAUC,GAAOC,OAC/B,IAAVD,GAGOpE,KAAKiE,mBAAmBC,EAAcC,EAAWC,EAAQ,GAK5E,EAEAlC,gBAAiB,SAASY,EAAaR,GAInC,IAHA,IAAIgC,EAAc,GACdH,EAAY,KAEPI,EAAgB,EAAGA,EAAgBzB,EAAYL,OAAQ8B,IAC5D,IAAK,IAAIC,EAAW,EAAGA,EAAW1B,EAAYyB,GAAeZ,MAAMlB,OAAQ+B,IAAY,CACnF,IAAIC,EAAM,EAEV,GAA2B,IAAvBH,EAAY7B,OACZ,KAAUgC,EAAMnC,EAAOiC,GAAe9B,OAAQgC,IAC1CH,EAAYrB,KAAK,CAAC,SAGtB,KAAUwB,EAAMnC,EAAOiC,GAAe9B,OAAQgC,IAE1C,GAAIzE,KAAKiE,mBAAmB3B,EAAOiC,GAAgBJ,EAAWM,GAC1DH,EAAYG,GAAKH,EAAYG,GAAKhC,OAAS,SACxC,CAEH,IADA,IAAIiC,EAAgBJ,EAAYG,GAAKH,EAAYG,GAAKhC,OAAS,GAAK,EAC3DkC,EAAI,EAAGA,EAAID,EAAeC,IAC/BL,EAAYG,GAAKxB,KAAK,GAE1BqB,EAAYG,GAAKxB,KAAK,EAC1B,CAGRkB,EAAY7B,EAAOiC,EACvB,CAGJ,OAAOD,CACX,EAEAnC,sBAAuB,SAASW,GAG5B,IAFA,IAAI8B,EAAoB,EAEfD,EAAI,EAAGA,EAAI7B,EAAYL,OAAQkC,IAEpCC,GAAqB9B,EAAY6B,GAAGhB,MAAMlB,OAE9C,OAAOmC,CACX,EAEAxC,uBAAwB,SAASC,EAAaC,EAAQC,EAAgBC,EAAW8B,EAAaM,EAAmB/B,EAAMgC,GACnH,IAAIjD,EAAO5B,KAAK6B,MACZkB,EAAWnB,EAAKoB,YAEpB,GAAKD,EAoBsB,IAAnBR,GAAsC,IAAdC,GAAmBF,EAAOG,QAClDb,EAAKQ,uBAAuBC,EAAaC,OArBlC,CACY,IAAnBC,GAAsC,IAAdC,GACxBH,EAAYY,KAAK/C,EAAMgD,OACnB,oEACA0B,EACAhD,EAAKuB,cAAc,CAAEN,KAAMA,EAAME,SAAUA,MAInD,IAAK,IAAI0B,EAAM,EAAGA,EAAMnC,EAAOC,GAAgBE,OAAQgC,IAC/CH,EAAYG,GAAKI,IACjBxC,EAAYY,KAAK/C,EAAMgD,OACnB,6DACAoB,EAAYG,GAAKI,GACjBjD,EAAKkD,eAAe,CAAEC,MAAOzC,EAAOC,GAAgBkC,GAAKJ,KAAMtB,SAAUA,IACzET,EAAOC,GAAgBkC,GAAKO,WAI5C,CAKJ,EAEAtC,gBAAiB,WAEjB,EAEAU,aAAc,SAASM,GAMnB,IALA,IAAI9B,EAAO5B,KAAK6B,MACZoD,EAAcrD,EAAKsD,cAAcC,MAAK,SAASC,EAAGC,GAClD,OAAOD,EAAEE,MAAM,GAAGP,MAAMQ,UAAYF,EAAEC,MAAM,GAAGP,MAAMQ,SACzD,IAESZ,EAAI,EAAGA,EAAIM,EAAYxC,OAAQkC,IACpCjB,EAAMG,OAAOjC,EAAK6B,kBAAkBwB,EAAYN,GAAGW,MAAOL,EAAYN,GAAGrC,QAEjF,EAEAe,YAAa,SAASC,GAClB,OAAOA,EAAaS,MAAM,EAC9B,EAEAP,iBAAkB,SAASlB,EAAQmC,EAAKb,GACpC,IAAIhC,EAAO5B,KAAK6B,MAEhB,GAAIS,EAAOmC,GAAKd,MACZ,IAAK,IAAIpB,EAAiB,EAAGA,EAAiBD,EAAOmC,GAAKd,MAAMlB,OAAQF,IAAkB,CAItF,IAHA,IAAIM,EAAOP,EAAOmC,GAAKd,MAAMpB,GAAgBwC,MACzCS,GAAa,EAERb,EAAI,EAAGA,EAAI/C,EAAKsD,cAAczC,OAAQkC,IACvC/C,EAAKsD,cAAcP,GAAGW,MAAM,GAAGP,MAAMQ,YAAc1C,EAAK0C,YACxDC,GAAa,EACb5D,EAAKsD,cAAcP,GAAGW,MAAMrC,KAAKX,EAAOmC,GAAKd,MAAMpB,IACnDX,EAAKsD,cAAcP,GAAGrC,OAAOW,KAAKW,IAIrC4B,GACD5D,EAAKsD,cAAcjC,KAAK,CACpBqC,MAAO,CAAChD,EAAOmC,GAAKd,MAAMpB,IAC1BD,OAAQ,CAACsB,IAGrB,CAER,EAEAH,kBAAmB,WAEnB,IA+eJ,SAASgC,EAAQ7C,GAGb,IAFA,IAAI8C,EAAS,EAEJjB,EAAM,EAAGhC,EAASG,EAAMH,OAAQgC,EAAMhC,EAAQgC,IACnDiB,GAAU9C,EAAM6B,GAAKd,MAAMlB,OAG/B,OAAOiD,CACX,CAEA,SAASC,EAAcC,EAAUC,GAI7B,OAHID,EAASE,iBACTD,EAAO3F,EAAM6F,OAAOH,EAASI,eAAtB9F,CAAsC2F,IAE1CA,CACX,CAqBA,SAASI,EAAa3D,GAKlB,IAJA,IAAIqB,EAAQ,GAAG1B,OAAOK,GAClBuD,EAAOlC,EAAMuC,QACbR,EAAS,GACTzC,EAAO,GAAGA,KACP4C,GACCA,EAAKvD,OACLW,EAAKkD,MAAMxC,EAAOkC,EAAKvD,QAChBuD,EAAKlC,MACZV,EAAKkD,MAAMxC,EAAOkC,EAAKlC,OAEvBV,EAAKmD,KAAKV,EAAQG,GAGtBA,EAAOlC,EAAMuC,QAGjB,OAAOR,CACX,CAjiBAxF,EAAME,GAAGiG,UAAU7E,kBAAoBA,EACvCtB,EAAME,GAAGiG,UAAUvC,wBAA0BA,EAG7C1D,EAAGkG,WAAalG,EAAGmG,cAAc7E,OAAO,CACpCC,KAAM,SAAS6E,EAASC,GACpBrG,EAAGmG,cAAcG,GAAG/E,KAAKyE,KAAKpG,KAAMwG,EAASC,GAE7CzG,KAAK2G,aAAe3G,KAAK4G,mBAEzBH,EAAUzG,KAAKyG,SAEHI,WACRJ,EAAQI,SAAW5G,EAAEyB,OACjB,CAAEoF,QAAU,GACZL,EAAQI,SACR,CAAEE,QAAQ,EAAOC,QAAQ,GACzB,CAAE1F,SAAUmF,EAAQnF,YAI5BtB,KAAKW,MAAQ8F,EAAQ9F,MAErBX,KAAKiH,eAAiB/G,EAAMkB,SAASX,GACrCT,KAAKmD,cAAgBjD,EAAMkB,SAASqF,EAAQS,mBAC5ClH,KAAK8E,eAAiB5E,EAAMkB,SAASqF,EAAQU,oBAC7CnH,KAAKoH,cAAgBlH,EAAMkB,SAASqF,EAAQY,mBAE5CrH,KAAKwG,QAAQc,GAAG,aAAe/G,EAAI,0BAA2B,eACzD+G,GAAG,aAAe/G,EAAI,0BAA2B,eACjD+G,GAAG,QAAU/G,EAAI,wFAAyF,WAE/GP,KAAKuH,cAAcd,EAAQ5D,MAC3B7C,KAAKwH,eACT,EAEAC,KAAM,SAENC,MAAO,WACH,IAAIhE,EAAQ1D,KAAK0D,MAEjBA,EAAM7C,KAAKL,EAAM,QAEjBkD,EAAMiE,SAAS,SAAS9G,KAAKL,EAAM,QAEnCkD,EAAMkE,KAAK,SAAS/G,KAAKL,EAAM,QAC/BkD,EAAMkE,KAAK,iBAAiB/G,KAAKL,EAAM,YACvCkD,EAAMkE,KAAK,YAAY/G,KAAKL,EAAM,OAClCkD,EAAMkE,KAAK,YAAY/G,KAAKL,EAAM,YAElCkD,EAAMkE,KAAK,+BAA+B/G,KAAKL,EAAM,gBACrDkD,EAAMkE,KAAK,+FAA+F/G,KAAKL,EAAM,YACzH,EAEAqH,eAAgB,WACZ7H,KAAKwG,QAAQoB,KAAK,eAAe/G,KAAK,iBAAiB,GAEvDX,EAAME,GAAGmG,cAAcG,GAAGmB,eAAezB,KAAKpG,KAClD,EAEA8H,eAAgB,WACZ,OAAO,CACX,EACAlB,gBAAiB,WACb,OAAI5G,KAAK+H,mBACE,IAAI7H,EAAME,GAAGiG,UAAUvC,wBAAwB9D,MAE/C,IAAIE,EAAME,GAAGiG,UAAU7E,kBAAkBxB,KAExD,EAEAgI,YAAa,SAASC,GAClBhI,EAAEgI,EAAEC,eAAeC,SAAS,UAChC,EAEAC,YAAa,SAASH,GAClBhI,EAAEgI,EAAEC,eAAeG,YAAY,UACnC,EAEAC,QAAS,SAASL,GACdA,EAAEM,iBAEFvI,KAAKwI,QAAQ,SAAU,CACnB1H,IAAKb,EAAEgI,EAAEC,eAAeO,QAAQ,WAAW5H,KAAKX,EAAMW,KAAK,SAEnE,EAEA6H,SAAU,WACN,OAAOxI,EAAM2C,KAAK8F,QAAQ3I,KAAK4I,YACnC,EAEAA,UAAW,WACP,OAAO5I,KAAK6I,UAChB,EAEAC,QAAS,WACL,OAAO9I,KAAK+I,QAChB,EAEAC,aAAc,WACV,OAAO9I,EAAM2C,KAAKoG,YAAYjJ,KAAK4I,YACvC,EAEArB,cAAe,SAAS1E,GACpB7C,KAAK6I,WAAahG,EAClB7C,KAAK+I,SAAW7I,EAAM2C,KAAKqG,QAAQrG,EAAM,GACzC7C,KAAKmJ,aAAanJ,KAAKoJ,WACvBpJ,KAAKqJ,SACT,EAEAD,QAAS,WACL,IAAIpH,EAAU,CACV,CAAEqC,KAAMrE,KAAKyG,QAAQnF,SAASgI,KAAMtE,UAAW,0BAC/C,CAAEX,KAAMrE,KAAKyG,QAAQnF,SAASiI,QAG7BvJ,KAAKgD,aACNhB,EAAQuB,OAAO,EAAG,EAAG,CAAEc,KAAMrE,KAAKyG,QAAQnF,SAASuB,KAAMmC,UAAW,2BAGxE,IAAIjE,EAAYf,KAAKwJ,iBACrB,GAAIzI,EAAU0B,OAAQ,CAElB,IADA,IAAIV,EAAe,GACV0C,EAAM,EAAGA,EAAM1D,EAAU0B,OAAQgC,IACtC1C,EAAakB,KAAK,CAAEoB,KAAM,GAAIW,UAAW,4BAG7ChD,EAAUhC,KAAK2G,aAAa7E,YAAYC,EAAcC,EAC1D,CAEA,MAAO,CACHA,QAASA,EAEjB,EAEAyH,OAAQ,SAASC,GAGb,IAFA,IAAI9G,EAAQ,GAEH6B,EAAM,EAAGA,EAAMiF,EAAOjH,OAAQgC,IAAO,CAC1C,IAAI8E,EAAQG,EAAOjF,GACfkF,EAAQJ,EAAMI,MACdC,EAAML,EAAMM,SAAW3J,EAAM2C,KAAKiH,QAAQP,EAAMK,KAAOL,EAAMK,IAC7DG,EAAiB7J,EAAM2C,KAAKiH,QAAQH,GACpCK,EAAsF,KAAhED,EAAeE,oBAAsBL,EAAIK,qBAE/DC,EAAsBC,KAAKC,MAAMR,EAAMG,EAAiBC,GAAsB9J,EAAM2C,KAAKwH,YAEzFd,EAAMM,WACNK,GAAuB,GAG3B,IAAIxJ,EAAO6I,EAAMe,QAOjB,GANA5J,EAAKkI,UAAY1I,EAAM2C,KAAKiH,QAAQH,GAEhCjJ,EAAKkI,WAAa5I,KAAK4I,aACvBhG,EAAMK,KAAKvC,GAGXwJ,EAAsB,EAAG,CACzBxJ,EAAKkJ,IAAM1J,EAAM2C,KAAK8F,QAAQgB,GAC9BjJ,EAAK6J,MAAO,EACZ,IAAK,IAAIC,EAAM,EAAGA,EAAMN,EAAqBM,IACzCb,EAAQjJ,EAAKkJ,KACblJ,EAAO6I,EAAMe,SACRX,MAAQjJ,EAAKkI,UAAY1I,EAAM2C,KAAKiH,QAAQH,GACjDjJ,EAAKkJ,IAAM1J,EAAM2C,KAAK8F,QAAQgB,GAC1Ba,GAAON,EAAsB,GAC7BxJ,EAAKkJ,IAAM,IAAIa,KAAK/J,EAAKiJ,MAAMe,cAAehK,EAAKiJ,MAAMgB,WAAYjK,EAAKiJ,MAAMG,UAAWF,EAAIgB,WAAYhB,EAAIiB,aAAcjB,EAAIkB,aAAclB,EAAImB,mBACnJrK,EAAKsK,MAAO,IAEZtK,EAAKmJ,UAAW,EAChBnJ,EAAKuK,QAAS,IAGb/K,EAAM2C,KAAKiH,QAAQpJ,EAAKkJ,MAAQ5J,KAAK8I,WAAapI,EAAKiJ,OAAS3J,KAAK4I,aAAgB1I,EAAM2C,KAAKiH,QAAQpJ,EAAKiJ,OAAOpE,WAAavF,KAAK8I,UAAUvD,YACjJ3C,EAAMK,KAAKvC,EAGvB,CACJ,CAEA,OAAO,IAAIR,EAAMgL,KAAKC,MAAMvI,GAAOuC,KAAK,CAAC,CAAEiG,MAAO,QAASC,IAAK,OAAS,CAAED,MAAO,MAAOC,IAAK,SAAUC,QAAQ,CAAEF,MAAO,cAAeG,SAC5I,EAEA9H,kBAAmB,SAASX,EAAaR,GASrC,IARA,IAAIkJ,EAAY,GACZ3E,EAAW7G,KAAKyG,QAAQI,SACxBxF,EAAawF,IAAiC,IAArBA,EAAStF,UAAsBvB,KAAKgD,YAC7DD,EAAW/C,KAAKgD,YAChB4B,EAAoB5E,KAAK2G,aAAaxE,sBAAsBW,GAC5DwB,EAActE,KAAK2G,aAAazE,gBAAgBY,EAAaR,GAC7DuC,EAAqB,EAEhBtC,EAAiB,EAAGA,EAAiBO,EAAYL,OAAQF,IAO9D,IANA,IAAIM,EAAOC,EAAYP,GAAgBwC,MAEnCnC,EAAQE,EAAYP,GAAgBoB,MAEpC8H,EAAQvL,EAAM2C,KAAK6I,QAAQ7I,GAEtBL,EAAY,EAAGA,EAAYI,EAAMH,OAAQD,IAAa,CAC3D,IAAI9B,EAAOkC,EAAMJ,GAEbG,EAAW,GAEXN,EAAeU,EAAsB,GAAXJ,EAE9B3C,KAAK2G,aAAavE,uBAAuBC,EAAaC,EAAQC,EAAgBC,EAAW8B,EAAaM,EAAmB/B,EAAMgC,GAE/HA,IACkB,IAAdrC,IACIO,GACAV,EAAYY,KAAK/C,EAAMgD,OACnB,8DACAlD,KAAKmD,cAAc,CAAEN,KAAMA,EAAME,SAAUA,IAC1C/C,KAAKwJ,iBAAiB/G,OAAqB,GAAZ,YAGpC+I,EAAUvI,KAAK,wCAA0CwI,EAAQ,oBAAsB,KAAOpJ,EAAYsJ,KAAK,IAAM,UAErH3L,KAAK2G,aAAajE,gBAAgBC,EAAUL,EAAQM,EAAOC,EAAMN,EAAgBO,IAIrFpC,EAAK6J,KACL7J,EAAKwC,OAAS,QACPxC,EAAKsK,KACZtK,EAAKwC,OAAS,QAEdxC,EAAKwC,OAAS,cAGlBxC,EAAKK,UAAYf,KAAK4L,eAAelL,GAErCiC,EAASM,KAAK/C,EAAMgD,OAChB,+EACAxC,EAAKsK,MAAQtK,EAAKuK,OAAS/K,EAAME,GAAGc,KAAK,kBAAoB,GAC7DlB,KAAKoH,cAAc1G,EAAK4J,MAAM,CAAEX,MAAOjJ,EAAKmL,YAAcnL,EAAKiJ,MAAOC,IAAKlJ,EAAKoL,SAAWpL,EAAKkJ,IAAKtI,SAAUtB,KAAKyG,QAAQnF,YAC5HZ,EAAK6J,MAAQ7J,EAAKuK,OAAS/K,EAAME,GAAGc,KAAK,mBAAqB,GAC9DlB,KAAKiH,eAAevG,EAAK4J,MAAM,CAAEjJ,WAAYA,EAAYC,SAAUtB,KAAKyG,QAAQnF,SAAUF,SAAUpB,KAAKyG,QAAQsF,kBAChH/L,KAAKwJ,iBAAiB/G,QAAUM,EAAW,UAAY,KAG5DyI,EAAUvI,KAAK,wCAA0CwI,EAAQ,oBAAsB,KAAO9I,EAASgJ,KAAK,IAAM,QACtH,CAGJ,OAAOH,EAAUG,KAAK,GAC1B,EAEAvJ,uBAAwB,SAASC,EAAaC,GAG1C,IAFA,IAAIS,EAAW/C,KAAKgD,YAEXyB,EAAM,EAAGA,EAAMnC,EAAOG,OAAQgC,IACnCpC,EAAYY,KAAK/C,EAAMgD,OACnB,gEACAZ,EAAOmC,GAAKgB,QACZzF,KAAK8E,eAAe,CAAEC,MAAOzC,EAAOmC,GAAKJ,KAAMtB,SAAUA,IACzDT,EAAOmC,GAAKO,WAGxB,EAEAgH,OAAQ,SAAStC,GACb,IAAIhG,EAAQ1D,KAAKiM,QAAQrE,KAAK,SAASsE,QACnC5J,EAAS,GAEb,GAAIoH,EAAOjH,OAAS,EAAG,CACnB,IAAI1B,EAAYf,KAAKwJ,iBAIrB,GAFA9F,EAAMG,OAAO5D,EAAE,YAEXc,EAAU0B,OACVH,EAAStC,KAAKmM,0BAA0BzC,EAAQ3I,EAAW,MAC3Df,KAAKkF,cAAgB,GACrBlF,KAAKoM,cAAc9J,EAAQoB,EAAMkE,KAAK,SAAU,IAChD5H,KAAK2G,aAAavD,aAAaM,EAAMkE,KAAK,cACvC,CACHtF,EAAStC,KAAKyJ,OAAOC,GACrB,IAAI2C,EAAapM,EAAED,KAAKyD,kBAAkBnB,EAAQ,KAClDpC,EAAMoM,+BAA+BD,EAAY,CAAC,qBAElD3I,EAAMkE,KAAK,SAAS/D,OAAOwI,EAC/B,CACJ,CAEYrM,KAAKuM,YA8NzB,SAA2BjK,GAMvB,IALA,IAEIuD,EAFApB,EAAM,EACNhC,EAASH,EAAOG,OAEhBiD,EAAS,GAENjB,EAAMhC,EAAQgC,KACjBoB,EAAOvD,EAAOmC,IACLnC,QACLuD,EAAOI,EAAaJ,EAAKvD,QACzBoD,EAASA,EAAOzD,OAAO4D,IAEvBH,EAASA,EAAOzD,OAAOgE,EAAaJ,EAAKlC,QAIjD,OAAO+B,CACX,CA/OuC8G,CAAkBlK,GAEjDtC,KAAK0H,QACL1H,KAAKwH,gBACLxH,KAAKwI,QAAQ,WACjB,EAEA4D,cAAe,SAAS9J,EAAQoB,EAAOJ,GACnC,IAAK,IAAImB,EAAM,EAAGhC,EAASH,EAAOG,OAAQgC,EAAMhC,EAAQgC,IAAO,CAC3D,IAAIb,EAAU5D,KAAK2G,aAAatD,YAAYC,GAE5CM,EAAQX,KAAKX,EAAOmC,IACpBzE,KAAK2G,aAAanD,iBAAiBlB,EAAQmC,EAAKb,GAE5CtB,EAAOmC,GAAKnC,OACZtC,KAAKoM,cAAc9J,EAAOmC,GAAKnC,OAAQoB,EAAOE,GAE9C5D,KAAK2G,aAAalD,kBAAkBC,EAAOpB,EAAOmC,GAAKd,MAAOC,EAEtE,CACJ,EAEAuI,0BAA2B,SAASzC,EAAQ3I,EAAW0L,GACnD,IAAI7G,EAAW7E,EAAU,GACrB2L,EAAgB,GAChBxB,EAAOtF,EAAS+G,WAAW/K,OAC3BmB,EAAW/C,KAAKgD,YAEpBkI,EAAOA,EAAK0B,QAAO,SAAS/G,GACxB,IAAIgH,EAAkB3M,EAAM6F,OAAOH,EAASkH,qBAAtB5M,CAA4C2F,GAElE,OAAOgH,SAA8DJ,GAAUI,IAAoBJ,EAAO1H,KAC9G,IAEA,IAAK,IAAIgI,EAAY,EAAGA,EAAY7B,EAAKzI,OAAQsK,IAAa,CAC1D,IAAIhI,EAAQY,EAAcC,EAAUsF,EAAK6B,IAErCC,EAAM,IAAI9M,EAAMgL,KAAKC,MAAMzB,GAAQkD,OAAO,CAAExB,MAAOxF,EAASwF,MAAO6B,SAAU7M,EAAGmG,cAAc2G,cAAcnI,KAAUwG,UAE1H,GAAIyB,EAAIvK,OAAQ,CACZ,IAAIG,EAAQ5C,KAAKyJ,OAAOuD,GACpBhI,EAAYyH,EAAS,GAAK,WAE1BM,IAAc7B,EAAKzI,OAAS,KAAOgK,GAAUA,EAAOzH,UAAUmI,QAAQ,WAAa,KACnFnI,GAAa,WAGjB,IAAIoI,EAAM,CACN/I,KAAMnE,EAAM6F,OAAOH,EAASyH,cAAtBnN,CAAqCgL,EAAK6B,IAChDhI,MAAOA,EACPU,QAAS,EACTT,UAAWA,GAGf,GAAIjE,EAAU0B,OAAS,EACnB2K,EAAI9K,OAAStC,KAAKmM,0BAA0Ba,EAAKjM,EAAUgD,MAAM,GAAIqJ,GACjEX,IACAA,EAAOhH,SAAW2H,EAAI3H,aAEvB,CACH2H,EAAIzJ,MAAQf,EACZ,IAAI0K,EAAO7H,EAAQ2H,EAAIzJ,OAEnBZ,IACAuK,GAAQF,EAAIzJ,MAAMlB,QAGtB2K,EAAI3H,QAAU6H,EACVb,IACAA,EAAOhH,SAAW6H,EAE1B,CACAZ,EAAczJ,KAAKmK,EACvB,CACJ,CAEA,OAAOV,CACX,EAKAa,gBAAiB,WACb,MAAO,CAAC,CACZ,EAEAC,mBAAoB,SAASC,GACzB,IAAIrJ,EAAOmF,EAEX,KADAkE,EAAOxN,EAAEwN,IACAC,SAAS,2BAA8B1N,KAAKuM,YAAY9J,OAAjE,CAQA,GAJIgL,EAAKE,GAAG,aACRF,EAAOA,EAAKhF,QAAQ,OAGpBzI,KAAKgD,YAAa,CAClB,IAAIyJ,EAASgB,EAAKhB,SAClBrI,EAAQqI,EAAOA,SAAS9E,WACnBiF,QAAO,WACJ,OAAO3M,EAAED,MAAM2H,SAAS,2DAA2DlF,MACvF,IACC2B,MAAMqI,EACf,MACIrI,EAAQqJ,EAAKhB,SAASrI,QAK1B,MAAO,CACHA,MAAOA,EACPuF,OAJJJ,EAAQvJ,KAAKuM,YAAYnI,IAIRuF,MACbC,IAAKL,EAAMK,IACXC,SAAUN,EAAMM,SAChB/I,IAAKyI,EAAMzI,IAxBf,CA0BJ,EAEA8M,OAAQ,SAASC,GACb7N,KAAK6H,iBAEL,IAAIiG,EAAM9N,KAAK0D,MACVkE,KAAK,WACLmG,GAAGF,EAAUzJ,OACbqE,QAAQ,MACRN,SAAS,cACTtH,KAAK,iBAAiB,GAAM,GAEjCb,KAAKgO,QAAQF,EACjB,EAEAG,KAAM,SAASJ,EAAWK,GACtB,IAAIC,GAAU,EACV/J,EAAQyJ,EAAUzJ,MAUtB,GARI8J,GAAOhO,EAAMkO,KAAKC,IAClBjK,IACA+J,GAAU,GACHD,GAAOhO,EAAMkO,KAAKE,OACzBlK,IACA+J,GAAU,GAGVA,EAAS,CACT,IAAI5E,EAAQvJ,KAAKuM,YAAYnI,GACzBmF,IACAsE,EAAUlE,MAAQJ,EAAMI,MACxBkE,EAAUjE,IAAML,EAAMK,IACtBiE,EAAUhE,SAAWN,EAAMM,SAC3BgE,EAAUnE,OAAS,CAACH,EAAMzI,KAC1B+M,EAAUzJ,MAAQA,EAE1B,CAEA,OAAO+J,CACX,EAEAI,YAAa,WACT,OAAO,CACX,EAEAC,mBAAoB,SAASX,GACzB,IAAItE,EAAQvJ,KAAKuM,YAAY,GACzBhD,IACAsE,EAAUlE,MAAQJ,EAAMI,MACxBkE,EAAUjE,IAAML,EAAMK,IACtBiE,EAAUhE,SAAWN,EAAMM,SAC3BgE,EAAUnE,OAAS,CAACH,EAAMzI,KAC1B+M,EAAUzJ,MAAQ,EAE1B,EAEAqK,UAAW,WACP,OAAO,CACX,EAEAlN,QAAS,WACDvB,KAAKwG,SACLxG,KAAKwG,QAAQkI,IAAInO,GAGrBH,EAAGmG,cAAcG,GAAGnF,QAAQ6E,KAAKpG,KACrC,EAEAyG,QAAS,CACL9F,MAAO,SACP8G,KAAM,SACNZ,UAAU,EACV8H,mBAAoB,cACpBC,wBAAyB,gBACzBC,yBAA0B,2BAC1B9C,cAAe,EAAGpL,WAAYN,EAAOM,GACrC0G,kBAAmB,EAAGwC,WAAUvI,WAAU4B,SAAQyG,QAAOC,SAAWC,EAAWvI,EAASwN,OAAS5O,EAAMgD,OAAOA,EAAQyG,EAAOC,GAC7H1C,kBA7rBmBgE,GAAUA,EAAKnI,SAXT,GAAGF,UAExB,mIAA8C3C,EAAM6O,SAASlM,EAAM,iEAEnB3C,EAAM6O,SAASlM,EAAM,uEAGrE3C,EAAM6O,SAASlM,EAAM,QAPc,gBAWMmM,CAA2B9D,GArB9C,GAAGrI,UAAW,yCACxC3C,EAAM6O,SAASlM,EAAM,MADmB,+CAIxC3C,EAAM6O,SAASlM,EAAK,QAJoB,6CAOxC3C,EAAM6O,SAASlM,EAAM,KACzB,UAaoFoM,CAA4B/D,GA8rB5G/D,mBA5rBmB,EAAGpE,WAAUgC,WAAchC,EAItB,wCACIgC,EACJ,UALA,4CACIA,EACJ,YA0rBxBzD,SAAU,CACNiI,MAAO,QACP1G,KAAM,OACNyG,KAAM,OACNwF,OAAQ,aA6DvB,CApyBD,CAoyBG3O,OAAOD,MAAMgP,QACNhP,KAIjB","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 = (task) => `
` +\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 = ({ date }) => '' +\n kendo.toString(date, \"dd\") +\n '' +\n '' +\n kendo.toString(date,\"dddd\") +\n '' +\n '' +\n kendo.toString(date, \"y\") +\n '';\n\n var MOBILE_EVENT_DATE_TEMPLATE = ({ date }) => '
' +\n '' +\n `${kendo.toString(date, \"dd\")}` +\n ' ' +\n `${kendo.toString(date, \"MMMM\")}` +\n '' +\n '' +\n kendo.toString(date, \"dddd\") +\n '' +\n '
';\n\n var EVENT_DATE_TEMPLATE = (data) => (data.isMobile ? MOBILE_EVENT_DATE_TEMPLATE(data) : DESKTOP_EVENT_DATE_TEMPLATE(data));\n\n var EVENT_GROUP_TEMPLATE = ({ isMobile, value }) => (!isMobile ?\n '' +\n value +\n '' :\n '' +\n value +\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-content tr\", \"_mouseenter\")\n .on(\"mouseleave\" + NS, \".k-scheduler-content tr\", \"_mouseleave\")\n .on(\"click\" + NS, \".k-scheduler-content .k-link:has(.k-i-x),.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 },\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: ({ title }) => encode(title),\n eventTimeTemplate: ({ isAllDay, messages, format, start, end }) => (isAllDay ? messages.allDay : kendo.format(format, start, end)),\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"]}