{"version":3,"file":"kendo.timeline.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendotimeline","js","this","$","undefined$1","kendo","window","Widget","ui","DataSource","data","Transition","effects","keys","isArray","Array","encode","htmlEncode","VERTICAL","TRANSITION_END","FLAGWRAPCLASS","TRACKITEMCLASS","SCROLLABLEWRAPCLASS","TRACKITEM_NOTFLAG_SELECTOR","NS","CHANGE","DEFAULTHORIZONTALCARDTEMPLATE","args","titleField","subtitleField","descriptionField","imagesField","actionsField","altField","length","src","map","action","url","text","join","DEFAULTVERTICALCARDTEMPLATE","collapsibleEvents","navigatable","icon","iconClass","HORIZONTALTRACKTEMPLATE","itemTemplate","dateField","dateFormat","showDateLabels","year","result","i","Date","currentYear","getFullYear","toString","VERTICALEVENTSTEMPLATE","alterMode","counter","reverse","uid","ARROWSHTML","calculateTransform","element","matrix","css","match","width","calculateOffset","parentElement","offset","left","applyCssStyles","property","value","Page","Class","extend","init","container","cardContainer","name","cardWrapper","append","content","htmlContent","label","callOut","html","prepend","attr","find","role","position","removeAttr","setPageCallout","propery","destroy","that","remove","HorizontalPane","Observable","options","movable","transition","pages","fn","call","Movable","axis","onEnd","trigger","duration","eventTemplate","eventHeight","dataFieldMappings","bind","initPages","page","push","repositionPages","setPageContent","template","Function","date","title","subtitle","description","images","actions","updatePage","isForward","calloutOffset","moveTo","moveAxis","transitionTo","ease","location","index","unbind","Timeline","orientation","addClass","_horizontal","_vertical","on","ev","target","dataItemUid","closest","dataItem","dataSource","getByUid","sender","currentEventIndex","_forward","_eventPage","_currentIndex","_firstIndexInView","_initDataFieldMappings","setDataSource","trackWrap","trackEl","scrollableWrap","eventsWrap","eventsList","_trackWrap","_trackEl","_scrollableWrap","_eventsWrap","_eventsList","height","appendTo","alternatingMode","card","itemWrapper","parent","hasClass","expand","collapse","e","keyCode","SPACEBAR","ENTER","header","preventDefault","_renderContentVertical","useWithBlock","dataDateField","dataTitleField","dataSubtitleField","dataDescriptionField","dataImagesField","dataActionsField","dataImagesAltField","eventWidth","_renderContentHorizontal","_dataFieldMappings","trackTemplate","initialEventIndex","pane","transitionEnd","_transitionEnd","shift","unshift","pop","_transition","_cardId","_setCurrent","_currentBullet","_animationInProgress","_setCurrentEvent","event","eventContainer","trackItem","currentTarget","view","children","open","forward","trackItemCircle","trackItems","itemIndex","_removeCurrent","clearTimeout","navigateTimeOut","setTimeout","easeOutExpo","_repositionEvents","_navigateToView","delta","next","previous","_updateArrows","_enableDisableArrow","arrow","enable","removeClass","arrows","leftArrow","filter","rightArrow","_validateNavigation","transform","_end","numOfEvents","maxEvents","Math","abs","_navigate","firstEventInViewIndex","firstEventInView","currentPage","end","leftOffset","currentIndex","firstIndexInView","_tackItemWidth","floor","eq","nextAll","first","prevAll","scrollWrapElement","transitionEndHandler","off","cardElement","cardBody","fx","stop","play","items","_resizeHandler","resizeTimeOut","_redrawEvents","redraw","trackWrapScrollableElement","round","_initHorizontal","current","firstEventElement","_resizeHandlerBound","jQuery","guid","handled","itemOffset","LEFT","RIGHT","id","siblings","_refresh","refresh","create","_sort","field","dir","autoBind","fetch","empty","events","plugin"],"sources":["kendo.timeline.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.fx.js'), require('kendo.data.js'), require('kendo.draganddrop.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.fx', 'kendo.data', 'kendo.draganddrop', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendotimeline = global.kendotimeline || {}, global.kendotimeline.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"timeline\",\n name: \"Timeline\",\n category: \"web\",\n description: \"The Kendo Timeline widget display events over time\",\n depends: [ \"userevents\", \"icons\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Widget = ui.Widget,\n DataSource = kendo.data.DataSource,\n Transition = kendo.effects.Transition,\n keys = kendo.keys,\n isArray = Array.isArray,\n encode = kendo.htmlEncode,\n\n LEFT_PAGE = -1,\n CETER_PAGE = 0,\n RIGHT_PAGE = 1,\n VERTICAL = \"vertical\",\n TRANSITION_END = \"transitionEnd\",\n VIRTUAL_PAGE_COUNT = 3,\n VIRTUAL_PAGE_CLASS = \"timeline-event\",\n FLAGWRAPCLASS = \"k-timeline-flag-wrap\",\n TRACKITEMCLASS = \"k-timeline-track-item\",\n SCROLLABLEWRAPCLASS = \"k-timeline-scrollable-wrap\",\n TRACKITEM_NOTFLAG_SELECTOR = \".k-timeline-track-item:not(.k-timeline-flag-wrap)\",\n NS = \".kendoTimeline\",\n CHANGE = \"change\",\n DEFAULTHORIZONTALCARDTEMPLATE = function (args) {\n var titleField = args.titleField, subtitleField = args.subtitleField, descriptionField = args.descriptionField, imagesField = args.imagesField, actionsField = args.actionsField, altField = args.altField, data = args.data;\n\n return '
' +\n '
' +\n (data[titleField] ? (\"
\" + (encode(data[titleField])) + \"
\") : '') +\n (data[subtitleField] ? (\"
\" + (encode(data[subtitleField])) + \"
\") : '') +\n '
' +\n '
' +\n '
' +\n (data[descriptionField] ? (\"

\" + (encode(data[descriptionField])) + \"

\") : '') +\n (data[imagesField] && data[imagesField].length > 0 ?\n (\"\")\n : '' ) +\n '
' +\n '
' +\n (data[actionsField] && data[actionsField].length > 0 ?\n '
' +\n data[actionsField].map(function (action) { return \"\" +\n \"\" + (encode(action.text)) + \"\" +\n ''; }\n ).join('') +\n '
'\n : '') +\n '
';\n },\n DEFAULTVERTICALCARDTEMPLATE = function (args) {\n var titleField = args.titleField, subtitleField = args.subtitleField, descriptionField = args.descriptionField, imagesField = args.imagesField, navigatable = args.navigatable, collapsibleEvents = args.collapsibleEvents, actionsField = args.actionsField, altField = args.altField, data = args.data;\n return '
' +\n '
' +\n '
' +\n (data[titleField] ? (\"\" + (encode(data[titleField])) + \"\") : '') +\n (collapsibleEvents ?\n '' +\n kendo.ui.icon({ icon: \"chevron-right\", iconClass: \"k-button-icon\" }) +\n ''\n : ''\n ) +\n '
' +\n (data[subtitleField] ? (\"
\" + (encode(data[subtitleField])) + \"
\") : '') +\n '
' +\n '
' +\n '
' +\n (data[descriptionField] ? (\"

\" + (encode(data[descriptionField])) + \"

\") : '') +\n (data[imagesField] && data[imagesField].length > 0 ?\n (\"\")\n : '') +\n '
' +\n '
' +\n (data[actionsField] && data[actionsField].length > 0 ?\n '
' +\n data[actionsField].map(function (action) { return \"\" +\n \"\" + (encode(action.text)) + \"\" +\n ''; }\n ).join('') +\n '
'\n : '') +\n '
';\n },\n HORIZONTALTRACKTEMPLATE = function (args) {\n var itemTemplate = args.itemTemplate, dateField = args.dateField, dateFormat = args.dateFormat, showDateLabels = args.showDateLabels, data = args.data, year = 0;\n var result = '';\n for (var i = 0; i < data.length; i++) {\n if (!(data[i][dateField] instanceof Date)) {\n continue;\n }\n var currentYear = data[i][dateField].getFullYear();\n if (year != currentYear) {\n year = currentYear;\n result +=\n '
  • ' +\n \"\" + year + \"\" +\n '
  • ';\n }\n\n result +=\n '
  • ' +\n '
    ' +\n (showDateLabels ? (\"\" + (kendo.toString(data[i][dateField], dateFormat)) + \"\") : '') +\n '
    ' +\n '' +\n '
  • ';\n }\n\n return result;\n },\n VERTICALEVENTSTEMPLATE = function (args) {\n var itemTemplate = args.itemTemplate, dateField = args.dateField, titleField = args.titleField, descriptionField = args.descriptionField, subtitleField = args.subtitleField, imagesField = args.imagesField, actionsField = args.actionsField, alterMode = args.alterMode, collapsibleEvents = args.collapsibleEvents, dateFormat = args.dateFormat, showDateLabels = args.showDateLabels, navigatable = args.navigatable, altField = args.altField, data = args.data, counter = 0, year = 0, reverse = false;\n var result = '';\n\n for (var i = 0; i < data.length; i++) {\n if (!(data[i][dateField] instanceof Date)) {\n continue;\n }\n var currentYear = data[i][dateField].getFullYear();\n if (currentYear != year) {\n year = currentYear;\n result +=\n '
  • ' +\n \"\" + year + \"\" +\n '
  • ';\n }\n\n reverse = counter % 2 === 0 && alterMode;\n result +=\n \"
  • \" +\n '
    ' +\n (showDateLabels ?\n (\"\" + (kendo.toString(data[i][dateField], dateFormat)) + \"\")\n : '') +\n '
    ' +\n '' +\n \"
    \" +\n \"
    \" +\n \"\" +\n \"\" + (itemTemplate({ titleField: titleField, subtitleField: subtitleField, descriptionField: descriptionField, imagesField: imagesField, actionsField: actionsField, data: data[i], altField: altField, navigatable: navigatable, collapsibleEvents: collapsibleEvents })) +\n '
    ' +\n '
    ' +\n '
  • ';\n counter ++;\n }\n\n return result;\n },\n ARROWSHTML =\n '' +\n '';\n\n function className(name) {\n return \"k-\" + name;\n }\n\n function calculateTransform(element) {\n var matrix = element.css('transform');\n var x;\n var values;\n\n if (matrix != \"none\") {\n values = matrix.match(/-?[\\d\\.]+/g);\n x = values[4];\n return (x / element.width() * 100);\n } else {\n return 0;\n }\n }\n\n function calculateOffset(element, parentElement) {\n return element.offset().left - parentElement.offset().left + element.width() / 2;\n }\n\n function applyCssStyles(element, property, value) {\n element.css(property, value);\n }\n\n var Page = kendo.Class.extend({\n init: function(container) {\n this.cardContainer = $(\"
    \");\n var cardWrapper = $(\"
    \").append(this.cardContainer);\n\n this.element = $(\"
  • \").append(cardWrapper);\n container.append(this.element);\n },\n\n content: function(htmlContent, uid, label) {\n var callOut = $(\"\");\n this.cardContainer.html(htmlContent);\n this.cardContainer.prepend(callOut);\n this.element.attr(\"data-uid\", uid);\n this.element.find(\".k-card\").attr({\n role: \"tabpanel\",\n \"aria-label\": label\n });\n },\n\n position: function(position) { //position can be -1, 0, 1\n this.element.css(\"transform\", \"translate3d(\" + this.element.width() * position + \"px, 0, 0)\");\n\n if (position === 0) {\n this.element.find(\".k-card\").attr(\"tabindex\", 0);\n } else {\n this.element.find(\".k-card\").removeAttr(\"tabindex\");\n }\n },\n\n setPageCallout: function(propery, value) {\n var element = this.element;\n var callOutElement = element.find(\".k-timeline-card-callout\");\n callOutElement.css(propery, value);\n },\n\n destroy: function() {\n var that = this;\n\n that.cardContainer = null;\n that.element.remove();\n that.element = null;\n }\n });\n\n var HorizontalPane = kendo.Observable.extend({\n init: function(element, options) {\n var that = this;\n\n kendo.Observable.fn.init.call(this);\n\n this.element = element;\n\n var movable,\n transition,\n pages;\n\n movable = new kendo.ui.Movable(that.element);\n\n transition = new Transition({\n axis: \"x\",\n movable: movable,\n onEnd: function() {\n that.trigger(TRANSITION_END);\n }\n });\n\n pages = [];\n\n $.extend(that, {\n duration: options && options.duration || 1,\n movable: movable,\n transition: transition,\n pages: pages,\n eventTemplate: options.eventTemplate,\n eventHeight: options.eventHeight,\n dataFieldMappings: options.dataFieldMappings,\n dateFormat: options.dateFormat\n });\n\n this.bind([TRANSITION_END], options);\n },\n\n initPages: function() {\n var pages = this.pages,\n element = this.element,\n page;\n\n for (var i = 0; i < VIRTUAL_PAGE_COUNT; i++) {\n page = new Page(element);\n pages.push(page);\n }\n },\n\n repositionPages: function() {\n var pages = this.pages;\n\n pages[0].position(LEFT_PAGE);\n pages[1].position(CETER_PAGE);\n pages[2].position(RIGHT_PAGE);\n },\n\n setPageContent: function(page, data) {\n var template = typeof this.eventTemplate === Function ? this.eventTemplate : kendo.template(this.eventTemplate);\n var dataFieldMappings = this.dataFieldMappings;\n var label = kendo.toString(data.date, this.dateFormat);\n var html;\n\n html = template({\n data: data,\n titleField: dataFieldMappings.title,\n subtitleField: dataFieldMappings.subtitle,\n descriptionField: dataFieldMappings.description,\n imagesField: dataFieldMappings.images,\n actionsField: dataFieldMappings.actions,\n altField: dataFieldMappings.altField\n });\n\n page.content(html, data.uid, label);\n },\n updatePage: function(isForward, data, calloutOffset) {\n var pages = this.pages;\n var page = isForward === null ? pages[1] : isForward ? pages[pages.length - 1] : pages[0];\n\n this.setPageContent(page, data);\n page.setPageCallout(\"left\", (calloutOffset / page.element.width()) * 100 + \"%\");\n },\n\n moveTo: function(offset) {\n this.movable.moveAxis(\"x\", -offset);\n },\n\n transitionTo: function(offset, ease) {\n this.transition.moveTo({ location: offset, duration: this.duration, ease: ease });\n },\n destroy: function() {\n var that = this;\n\n for (var index = 0; index < that.pages.length; index++) {\n that.pages[index].destroy();\n }\n\n that.unbind();\n\n that.movable =\n that.transition =\n that.dataFieldMappings =\n that.eventTemplate =\n that.duration =\n that.pages = null;\n }\n });\n\n var Timeline = kendo.ui.Widget.extend({\n init: function(element, options) {\n var that = this;\n var orientation = options.orientation || that.options.orientation;\n\n Widget.fn.init.call(this, element, options);\n\n this.element.addClass(orientation === VERTICAL ? \"k-timeline k-timeline-vertical\" : \"k-timeline k-timeline-horizontal\");\n\n if (orientation != VERTICAL) {\n that._horizontal();\n } else {\n that._vertical();\n }\n\n this.element.on(\"click\", \".k-card-actions\", function(ev) {\n var action = $(ev.target);\n var dataItemUid = $(ev.target).closest(\".k-timeline-event\").data(\"uid\");\n var dataItem = that.dataSource.getByUid(dataItemUid);\n\n that.trigger(\"actionClick\", { sender: that, element: action, dataItem: dataItem });\n });\n\n that.currentEventIndex = 0;\n that._forward = null;\n that._eventPage = 1;\n that._currentIndex = 0;\n that._firstIndexInView = 0;\n\n that._initDataFieldMappings();\n\n that.setDataSource(options.dataSource);\n },\n\n _horizontal: function() {\n var that = this;\n var element = this.element;\n var options = this.options;\n\n var trackWrap = $(\"
    \");\n var trackEl = $(\"
    \");\n var scrollableWrap = $(\"
      \");\n var eventsWrap = $(\"
      \");\n var eventsList = $(\"
        \");\n\n that._trackWrap = trackWrap;\n that._trackEl = trackEl;\n that._scrollableWrap = scrollableWrap;\n that._eventsWrap = eventsWrap;\n that._eventsList = eventsList;\n\n trackWrap.addClass(\"k-timeline-track-wrap\");\n trackEl.addClass(\"k-timeline-track\");\n scrollableWrap.addClass(SCROLLABLEWRAPCLASS);\n eventsWrap.addClass(\"k-timeline-events-list\");\n eventsList.addClass(SCROLLABLEWRAPCLASS);\n\n if (options.eventHeight) {\n eventsList.height(options.eventHeight);\n }\n\n trackEl.append(scrollableWrap);\n trackWrap.append(ARROWSHTML);\n trackWrap.append(trackEl);\n eventsWrap.append(eventsList);\n\n trackWrap.appendTo(element);\n eventsWrap.appendTo(element);\n },\n\n _vertical: function() {\n var that = this;\n var options = this.options;\n var element = this.element;\n var eventsList = that._eventsList = $(\"
          \");\n var navigatable = options.navigatable;\n var collapsibleEvents = options.collapsibleEvents;\n\n that.element.append(eventsList);\n\n if (options.alternatingMode) {\n element.addClass(\"k-timeline-alternating\");\n }\n\n if (collapsibleEvents) {\n element.addClass(\"k-timeline-collapsible\");\n\n this.element.on(\"click\", \".k-card-header\", function() {\n var card = $(this).closest(\".k-timeline-card\");\n var itemWrapper = card.parent();\n var dataItem = that.dataSource.getByUid(itemWrapper.data(\"uid\"));\n\n if (card.hasClass(\"k-collapsed\")) {\n if (!that.trigger(\"expand\", { sender: that, dataItem: dataItem })) {\n that.expand(itemWrapper);\n }\n } else {\n if (!that.trigger(\"collapse\", { sender: that, dataItem: dataItem })) {\n that.collapse(itemWrapper);\n }\n }\n });\n }\n\n if (navigatable) {\n if (collapsibleEvents) {\n this.element.on(\"keydown\" + NS, that, function(e) {\n if (e.keyCode == keys.SPACEBAR || e.keyCode == keys.ENTER) {\n var target = $(e.target);\n var header = target.find(\".k-card-header\");\n if (header.length) {\n e.preventDefault();\n header.trigger(\"click\");\n }\n }\n });\n }\n }\n },\n\n _renderContentVertical: function(data) {\n var that = this;\n var options = that.options;\n var html;\n var itemTemplate;\n\n if (typeof options.eventTemplate === Function) {\n itemTemplate = options.eventTemplate;\n } else {\n itemTemplate = options.eventTemplate ? kendo.template(options.eventTemplate) : kendo.template(DEFAULTVERTICALCARDTEMPLATE, { useWithBlock: false });\n }\n\n var template = kendo.template(VERTICALEVENTSTEMPLATE, { useWithBlock: false });\n\n html = template({\n data: data,\n dateField: options.dataDateField,\n titleField: options.dataTitleField,\n subtitleField: options.dataSubtitleField,\n descriptionField: options.dataDescriptionField,\n imagesField: options.dataImagesField,\n actionsField: options.dataActionsField,\n itemTemplate: itemTemplate,\n alterMode: options.alternatingMode,\n collapsibleEvents: options.collapsibleEvents,\n dateFormat: options.dateFormat,\n showDateLabels: options.showDateLabels,\n altField: options.dataImagesAltField,\n navigatable: options.navigatable\n });\n\n this._eventsList.html(html);\n\n if (options.eventWidth) {\n that.element.find(\".k-card\").width(options.eventWidth);\n }\n },\n\n _renderContentHorizontal: function(data) {\n var that = this;\n var options = that.options;\n var html;\n var itemTemplate;\n var dataFieldMappings = that._dataFieldMappings;\n\n if (typeof options.eventTemplate === Function) {\n itemTemplate = options.eventTemplate;\n } else {\n itemTemplate = options.eventTemplate ? kendo.template(options.eventTemplate) : kendo.template(DEFAULTHORIZONTALCARDTEMPLATE, { useWithBlock: false });\n }\n\n var trackTemplate = kendo.template(HORIZONTALTRACKTEMPLATE, { useWithBlock: false });\n\n html = trackTemplate({\n data: data,\n itemTemplate: itemTemplate,\n dateFormat: options.dateFormat,\n dateField: options.dataDateField,\n showDateLabels: options.showDateLabels\n });\n\n if (options.initialEventIndex) {\n that._trackWrap.append($(html).find(\".\" + SCROLLABLEWRAPCLASS).css(\"transform\", \"translateX(-100%)\").parent());\n } else {\n that._scrollableWrap.html(html);\n }\n\n if (that.pane) {\n that.pane.destroy();\n }\n\n that.pane = new HorizontalPane(that._eventsList, {\n transitionEnd: this._transitionEnd.bind(this),\n eventTemplate: itemTemplate,\n dataFieldMappings: dataFieldMappings,\n eventHeight: options.eventHeight,\n dateFormat: options.dateFormat\n });\n },\n\n _initDataFieldMappings: function() {\n var that = this;\n var options = that.options;\n\n that._dataFieldMappings = {\n \"title\": options.dataTitleField,\n \"subtitle\": options.dataSubtitleField,\n \"date\": options.dataDateField,\n \"description\": options.dataDescriptionField,\n \"images\": options.dataImagesField,\n \"actions\": options.dataActionsField,\n \"altField\": options.dataImagesAltField\n };\n },\n\n _transitionEnd: function() {\n if (this._forward) {\n this.pane.pages.push(this.pane.pages.shift());//forward\n } else {\n this.pane.pages.unshift(this.pane.pages.pop());//back\n }\n\n this._forward = null;\n\n this.pane.repositionPages();\n this.pane.movable.moveAxis(\"x\", 0);\n\n if (this.options.navigatable) {\n this._transition = null;\n this._eventsList.find(\".k-card\").removeAttr(\"id\");\n this.pane.pages[1].cardContainer.attr(\"id\", this._cardId);\n this._setCurrent(this._currentBullet);\n }\n this._animationInProgress = false;\n },\n\n _setCurrentEvent: function(event) {\n var that = this;\n var trackItem = $(event.currentTarget);\n var eventContainer;\n var dataItem = that.dataSource.view()[trackItem.parent().children(\":not(.k-timeline-flag-wrap)\").index(trackItem)];\n\n eventContainer = that._forward ? that.pane.pages[2].element : that.pane.pages[0].element;\n\n if (!that.trigger(\"change\", { eventContainer: eventContainer, dataItem: dataItem })) {\n that.open(trackItem);\n }\n },\n\n open: function(element) {\n var that = this;\n\n var trackItem = $(element);\n var trackItemCircle = trackItem.find(\".k-timeline-circle\");\n var trackItems = trackItem.parent().children(\":not(.k-timeline-flag-wrap)\");\n var itemIndex = trackItems.index(trackItem);\n var forward;\n\n if (this.options.navigatable) {\n that._removeCurrent();\n trackItems.attr(\"aria-selected\", false);\n trackItem.attr(\"aria-selected\", true);\n that._currentBullet = trackItem; //needed for screenreaders to announce at a later stage the item\n }\n\n var dataItem = that.dataSource.view()[itemIndex];\n\n if (that.currentEventIndex === itemIndex) {\n return;\n }\n\n that._currentIndex = trackItem.index();\n forward = that._forward = that.currentEventIndex < itemIndex;\n that.currentEventIndex = itemIndex;\n\n that.pane.updatePage(forward, dataItem, calculateOffset(trackItemCircle, that._trackWrap));\n\n if (that._forward) {\n clearTimeout(that.navigateTimeOut);\n that.navigateTimeOut = setTimeout(function() {\n that.pane.transition.moveTo({ location: -that.pane.pages[2].element.width(), duration: 800, ease: Transition.easeOutExpo });\n }, 200);\n\n } else {\n clearTimeout(that.navigateTimeOut);\n that.navigateTimeOut = setTimeout(function() {\n that.pane.transition.moveTo({ location: that.pane.pages[0].element.width(), duration: 800, ease: Transition.easeOutExpo });\n }, 200);\n }\n\n that._repositionEvents();\n },\n\n _navigateToView: function(event) {\n var that = this;\n var delta = $(event.currentTarget).hasClass(\"k-timeline-arrow-right\") ? 1 : -1;\n\n if (!that.trigger(\"navigate\", { sender: that, action: delta > 0 ? \"next\" : \"previous\" }) && !that._animationInProgress) {\n that._animationInProgress = true;\n\n if (delta > 0) {\n that.next();\n } else {\n that.previous();\n }\n that._updateArrows();\n }\n },\n\n _enableDisableArrow: function(arrow, enable) {\n if (enable) {\n arrow.removeClass(\"k-disabled\");\n arrow.removeAttr(\"disabled\");\n arrow.attr(\"aria-hidden\", false);\n } else {\n arrow.addClass(\"k-disabled\");\n arrow.attr(\"disabled\", \"disabled\");\n arrow.attr(\"aria-hidden\", true);\n }\n },\n\n _updateArrows: function() {\n var that = this;\n var arrows = that.element.find(\".k-timeline-arrow\");\n var leftArrow = arrows.filter(\".k-timeline-arrow-left\");\n var rightArrow = arrows.filter(\".k-timeline-arrow-right\");\n\n this._enableDisableArrow(leftArrow, !that._validateNavigation(false));\n this._enableDisableArrow(rightArrow, !that._validateNavigation(true));\n },\n\n _validateNavigation: function(next) {\n var that = this;\n var transform = that._end || 0;\n\n if (next) {\n return that._firstIndexInView + that.numOfEvents >= that.maxEvents;\n } else {\n return Math.abs(transform) <= 1;\n }\n },\n\n next: function() {\n var that = this;\n var options = that.options;\n\n if (!that._validateNavigation(true) && options.orientation != VERTICAL) {\n that._forward = true;\n that._navigate();\n }\n\n that._updateArrows();\n },\n\n _navigate: function() {\n var that = this;\n var firstEventInViewIndex;\n var firstEventInView;\n var dataItem;\n var width;\n var forward = that._forward;\n var end = calculateTransform(this._trackWrap.find(\".\" + SCROLLABLEWRAPCLASS));\n var leftOffset = forward ? - $(\".\" + SCROLLABLEWRAPCLASS).width() : $(\".\" + SCROLLABLEWRAPCLASS).width();\n var currentIndex = that._currentIndex;\n var currentPage;\n var firstIndexInView = that._firstIndexInView;\n\n end = forward ? end - 100 : end + 100;\n\n if (end >= 0) {\n end = 0;\n }\n\n that._end = end;\n\n width = that._tackItemWidth;\n\n currentPage = Math.floor(currentIndex / that.numOfEvents);\n\n if (forward) {\n if (that.numOfEvents === 1) {\n firstEventInViewIndex = firstIndexInView === 0 ? 1 : firstIndexInView;\n firstEventInView = this._trackWrap.find(\".\" + TRACKITEMCLASS).eq(firstEventInViewIndex).nextAll(\":not(.\" + FLAGWRAPCLASS + \")\").first();\n that._firstIndexInView = firstEventInView.index();\n } else {\n firstEventInViewIndex = firstIndexInView + that.numOfEvents - 1;\n firstEventInView = this._trackWrap.find(\".\" + TRACKITEMCLASS).eq(firstEventInViewIndex).nextAll(\":not(.\" + FLAGWRAPCLASS + \")\").first();\n that._firstIndexInView = firstIndexInView + that.numOfEvents;\n }\n } else {\n if (that.numOfEvents === 1) {\n firstEventInViewIndex = firstIndexInView;\n firstEventInView = this._trackWrap.find(\".\" + TRACKITEMCLASS).eq(firstEventInViewIndex).prevAll(\":not(.\" + FLAGWRAPCLASS + \")\").first();\n that._firstIndexInView = firstEventInView.index();\n } else {\n firstEventInViewIndex = firstIndexInView;\n firstEventInView = this._trackWrap.find(\".\" + TRACKITEMCLASS).eq(firstEventInViewIndex).prevAll(\":not(.\" + FLAGWRAPCLASS + \")\").first();\n firstEventInView = firstEventInView.length > 0 ? firstEventInView : this._trackWrap.find(\".\" + TRACKITEMCLASS + \":not(.\" + FLAGWRAPCLASS + \")\").first();\n that._firstIndexInView = firstIndexInView - that.numOfEvents < 0 ? 0 : firstIndexInView - that.numOfEvents;\n }\n }\n\n dataItem = that.dataSource.view()[this._trackWrap.find(TRACKITEM_NOTFLAG_SELECTOR).index(firstEventInView)];\n\n this._trackWrap.find(\".\" + SCROLLABLEWRAPCLASS).css(\"transform\", \"translateX(\" + end + \"%)\");\n\n if (that._currentIndex != firstEventInView.index()) {\n that.currentEventIndex = this._trackWrap.find(TRACKITEM_NOTFLAG_SELECTOR).index(firstEventInView);\n\n that._currentIndex = firstEventInView.index();\n\n that.pane.updatePage(that._forward, dataItem, (currentPage === 0 && !forward ? firstEventInView.find(\".k-timeline-circle\").offset().left + 15 : calculateOffset(firstEventInView.find(\".k-timeline-circle\"), that._trackWrap) + leftOffset));\n\n clearTimeout(that.navigateTimeOut);\n\n that.navigateTimeOut = setTimeout(function() {\n if (forward && that.pane && that.pane.pages.length > 0) {\n that.pane.transition.moveTo({ location: - that.pane.pages[2].element.width(), duration: 800, ease: Transition.easeOutExpo });\n } else {\n that.pane.transition.moveTo({ location: that.pane.pages[0].element.width(), duration: 800, ease: Transition.easeOutExpo });\n }\n }, 200);\n } else {\n var scrollWrapElement = this._trackWrap.find(\".\" + SCROLLABLEWRAPCLASS);\n var transitionEndHandler = function() {\n if (that.numOfEvents != 1) {\n var page = that.pane.pages[1];\n var calloutOffset = calculateOffset(firstEventInView.find(\".k-timeline-circle\"), that._trackWrap);\n page.setPageCallout(\"left\", (calloutOffset / page.element.width()) * 100 + \"%\");\n }\n this._transition = null;\n scrollWrapElement.off('transitionend' + NS, transitionEndHandler);\n };\n scrollWrapElement.on('transitionend' + NS, transitionEndHandler);\n }\n },\n\n previous: function() {\n var that = this;\n var options = that.options;\n\n if (!that._validateNavigation(false) && options.orientation != VERTICAL) {\n that._forward = false;\n that._navigate();\n }\n\n that._updateArrows();\n },\n\n expand: function(event) {\n var options = this.options,\n cardWrapper = $(event).find(\".k-timeline-card\"),\n cardElement = $(event).find(\".k-card\"),\n cardBody = $(event).find(\".k-card-body\");\n\n if (!cardWrapper.hasClass(\"k-collapsed\")) {\n return;\n }\n\n if (options.navigatable && options.collapsibleEvents) {\n cardElement.attr(\"aria-expanded\", true);\n }\n\n cardWrapper.removeClass('k-collapsed');\n\n kendo.fx(cardBody).expand(\"vertical\").stop().play();\n },\n\n collapse: function(event) {\n var options = this.options,\n cardWrapper = $(event).find(\".k-timeline-card\"),\n cardElement = $(event).find(\".k-card\"),\n cardBody = $(event).find(\".k-card-body\");\n\n if (cardWrapper.hasClass(\"k-collapsed\")) {\n return;\n }\n\n if (options.navigatable && options.collapsibleEvents) {\n cardElement.attr(\"aria-expanded\", false);\n }\n\n cardWrapper.addClass(\"k-collapsed\");\n\n kendo.fx(cardBody).expand(\"vertical\").stop().reverse();\n },\n\n items: function() {\n return this.element.find(\"li[data-uid]\");\n },\n\n _resizeHandler: function() {\n var that = this;\n clearTimeout(that.resizeTimeOut);\n that.resizeTimeOut = setTimeout(function() {\n that._redrawEvents();\n that.pane.repositionPages();\n });\n },\n\n redraw: function() {\n var options = this.options;\n if (options.orientation != VERTICAL) {\n this._redrawEvents();\n this.pane.repositionPages();\n }\n },\n\n _redrawEvents: function() {\n var that = this;\n var numOfEvents = Math.floor(that.element.find(\".\" + SCROLLABLEWRAPCLASS).width() / 150);\n var width;\n\n if (that.element.width() <= 480) {\n that.element.addClass(\"k-timeline-mobile\");\n width = 100;\n that.numOfEvents = 1;\n that._tackItemWidth = width;\n that.element.find(\"li.\" + TRACKITEMCLASS).css(\"flex\", \"1 0 \" + width + \"%\");\n that._repositionEvents();\n } else {\n that.element.removeClass(\"k-timeline-mobile\");\n if (numOfEvents != that.numOfEvents) {\n that.numOfEvents = numOfEvents;\n width = 100 / numOfEvents;\n applyCssStyles(that.element.find(\"li.\" + TRACKITEMCLASS), \"flex\", \"1 0 \" + width + \"%\");\n that._tackItemWidth = width;\n that._repositionEvents();\n }\n }\n\n that._updateArrows();\n },\n\n _repositionEvents: function() {\n var that = this;\n var width = that._tackItemWidth;\n var page = that._forward === null ? that.pane.pages[1] : that._forward ? that.pane.pages[2] : that.pane.pages[0];\n var trackWrapScrollableElement = this._trackWrap.find(\".\" + SCROLLABLEWRAPCLASS);\n var end = calculateTransform(trackWrapScrollableElement);\n var calloutOffset;\n var offset;\n var leftOffset;\n var circleElement;\n\n if (that.numOfEvents === 1) {\n offset = that.currentEventIndex * width;\n } else {\n offset = that._currentIndex * width;\n }\n if (page) {\n if (that.numOfEvents === 1) {\n page.setPageCallout(\"left\", \"50%\");\n leftOffset = offset;\n applyCssStyles(trackWrapScrollableElement, \"transform\", \"translateX(-\" + leftOffset + \"%)\");\n that._firstIndexInView = that._currentIndex;\n that._updateArrows();\n return;\n }\n if (offset >= Math.abs(end) + 100) {\n leftOffset = Math.abs(end) + ((offset - (Math.abs(end) + 100)) + width);\n that._end = -leftOffset;\n applyCssStyles(trackWrapScrollableElement, \"transform\", \"translateX(-\" + leftOffset + \"%)\");\n that._firstIndexInView = that._currentIndex - that.numOfEvents + 1;\n }\n else if (offset <= Math.abs(end)) {\n leftOffset = offset;\n that._end = -leftOffset;\n applyCssStyles(trackWrapScrollableElement, \"transform\", \"translateX(-\" + leftOffset + \"%)\");\n that._firstIndexInView = that._currentIndex;\n } else {\n circleElement = trackWrapScrollableElement.find(\"li.\" + TRACKITEMCLASS).eq(that._currentIndex).find(\".k-timeline-circle\");\n calloutOffset = calculateOffset(circleElement, that._trackWrap);\n page.setPageCallout(\"left\", (calloutOffset / page.element.width()) * 100 + \"%\");\n that._firstIndexInView = Math.round(Math.abs(end) / width);\n }\n var scrollWrapElement = this._trackWrap.find(\".\" + SCROLLABLEWRAPCLASS);\n var transitionEndHandler = function() {\n if (that.numOfEvents != 1) {\n var page = that.pane.pages[1];\n var eventElement = that._trackWrap.find(\".\" + TRACKITEMCLASS).eq(that._currentIndex);\n var calloutOffset = calculateOffset(eventElement.find(\".k-timeline-circle\"), that._trackWrap);\n page.setPageCallout(\"left\", (calloutOffset / page.element.width()) * 100 + \"%\");\n }\n scrollWrapElement.off('transitionend' + NS, transitionEndHandler);\n };\n scrollWrapElement.on('transitionend' + NS, transitionEndHandler);\n }\n\n that._updateArrows();\n },\n\n _initHorizontal: function() {\n var that = this;\n var firstEventElement = that._trackWrap.find(\".k-timeline-circle\").first();\n var dataItem = that.dataSource.view()[0];\n var navigatable = that.options.navigatable;\n var current;\n\n that.maxEvents = that._trackWrap.find(\".\" + TRACKITEMCLASS).length;\n\n that._currentIndex = 1;\n\n that.pane.initPages();\n\n that.pane.repositionPages();\n\n that.pane.updatePage(that._forward, dataItem, calculateOffset(firstEventElement, that._trackWrap));\n\n that._updateArrows();\n\n that._resizeHandlerBound = that._resizeHandler.bind(that);\n\n kendo.jQuery(window).on(\"resize\" + NS, that._resizeHandlerBound);\n that._trackWrap.on(\"click\", TRACKITEM_NOTFLAG_SELECTOR, that._setCurrentEvent.bind(that));\n that._trackWrap.on(\"click\", \".k-timeline-arrow:not(.k-disabled)\", that._navigateToView.bind(that));\n\n if (navigatable) {\n that._trackWrap\n .find(\".k-timeline-track-item.k-timeline-flag-wrap\")\n .attr(\"role\", \"none\")\n .attr(\"aria-hidden\", true);\n\n that._trackWrap.find(TRACKITEM_NOTFLAG_SELECTOR)\n .attr(\"aria-selected\", false)\n .first()\n .attr(\"aria-selected\", true);\n\n that._cardId = kendo.guid();\n that._scrollableWrap\n .on(\"focus\" + NS, function() {\n that.pane.pages[1].cardContainer.attr(\"id\", that._cardId);\n\n if (that._currentBullet) {\n that._currentBullet.addClass(\"k-focus\");\n }\n })\n .on(\"focusout\" + NS, function() {\n if (that._currentBullet) {\n that._currentBullet.removeClass(\"k-focus\");\n }\n })\n .on(\"keydown\" + NS, function(e) {\n var handled;\n var current = that._currentBullet;\n var itemOffset;\n var next;\n\n if (that._transition) {\n return;\n }\n\n if (e.keyCode == keys.LEFT) {\n handled = true;\n next = current.prevAll(TRACKITEM_NOTFLAG_SELECTOR).first();\n\n if (next.length) {\n itemOffset = calculateOffset(next, that._trackWrap);\n\n if (itemOffset < 0 || itemOffset > next.parent().width()) {\n that._transition = true;\n that._removeCurrent();\n that.previous();\n that.open(next);\n } else {\n that._setCurrentEvent({ currentTarget: next });\n }\n }\n\n }\n\n if (e.keyCode == keys.RIGHT) {\n handled = true;\n next = current.nextAll(TRACKITEM_NOTFLAG_SELECTOR).first();\n\n if (next.length) {\n itemOffset = calculateOffset(next, that._trackWrap);\n\n if (itemOffset < 0 || itemOffset > next.parent().width()) { //itemOffset > 0 && itemOffset < parentWidth\n that._transition = true;\n that._removeCurrent();\n that.next();\n that.open(next);\n } else {\n that._setCurrentEvent({ currentTarget: next });\n }\n }\n }\n\n if (handled) {\n //prevent scrolling while pressing the keys\n e.preventDefault();\n }\n });\n\n current = that._scrollableWrap.find(\".\" + TRACKITEMCLASS).eq(that._currentIndex);\n\n that._setCurrent(current);\n current.removeClass(\"k-focus\");\n }\n },\n\n _setCurrent: function(next) {\n if (!next) {\n return;\n }\n var id = kendo.guid();\n var that = this;\n\n that._removeCurrent();\n that._scrollableWrap.attr(\"aria-activedescendant\", id);\n\n next.attr(\"id\", id).addClass(\"k-focus\");\n\n next.siblings().removeAttr(\"aria-describedby\");\n\n if (next.attr(\"aria-selected\") === \"true\") {\n next.attr(\"aria-describedby\", that._cardId);\n that.pane.pages[1].cardContainer.attr(\"id\", that._cardId);\n }\n\n that._currentBullet = next;\n },\n\n _removeCurrent: function() {\n if (this._currentBullet) {\n this._currentBullet\n .removeClass(\"k-focus\")\n .removeAttr(\"id\")\n .removeAttr(\"aria-describedby\");\n }\n this._scrollableWrap.removeAttr(\"aria-activedescendant\");\n },\n\n setDataSource: function(dataSource) {\n var that = this;\n var options = that.options;\n\n dataSource = isArray(dataSource) ? { data: dataSource } : dataSource;\n\n if (that.dataSource && that._refresh) {\n that.dataSource.unbind(CHANGE, that._refresh);\n } else {\n this._refresh = that.refresh.bind(that);\n }\n\n this.dataSource = DataSource.create(dataSource);\n if (this.dataSource._sort === undefined$1) {\n this.dataSource._sort = [{ field: options.dataDateField, dir: \"asc\" }];\n }\n\n that.dataSource.bind(CHANGE, that._refresh);\n\n if (options.autoBind) {\n this.dataSource.fetch();\n }\n },\n\n refresh: function() {\n var that = this;\n var options = that.options;\n\n var data = this.dataSource.view();\n\n if (options.orientation != VERTICAL) {\n that._trackWrap.empty().remove();\n that.element.find('.k-timeline-events-list').remove();\n that._horizontal();\n }\n\n that.currentEventIndex = 0;\n that._forward = null;\n that._eventPage = 1;\n that._currentIndex = 0;\n that._firstIndexInView = 0;\n that.numOfEvents = null;\n that._end = 0;\n\n that._initDataFieldMappings();\n\n if (data.length) {\n if (options.orientation === \"horizontal\") {\n that._renderContentHorizontal(data);\n that._redrawEvents();\n that._initHorizontal();\n\n } else {\n that._renderContentVertical(data);\n }\n }\n\n that.trigger(\"dataBound\", { sender: that });\n },\n\n destroy: function() {\n var options = this.options;\n\n Widget.fn.destroy.call(this);\n\n if (this.resizeTimeOut) {\n clearTimeout(this.resizeTimeOut);\n }\n\n if (this.navigateTimeOut) {\n clearTimeout(this.navigateTimeOut);\n }\n\n $(window).off(\"resize\" + NS, this._resizeHandlerBound);\n\n this._resizeHandlerBound = null;\n\n this.element.off();\n\n if (options.orientation != VERTICAL) {\n if (this.pane) {\n this.pane.destroy();\n }\n\n this._trackWrap.find(\".\" + SCROLLABLEWRAPCLASS).off();\n this.element.find(\".k-timeline-arrow\").off();\n this._trackWrap.off();\n\n this.currentEventIndex =\n this.maxEvents =\n this.numOfEvents =\n this._currentIndex =\n this._eventPage =\n this._eventsList =\n this._eventsWrap =\n this.element =\n this._trackWrap =\n this.pane = null;\n }\n\n kendo.destroy(this.element);\n\n this._dataFieldMappings = this.element = null;\n },\n\n options: {\n autoBind: true,\n name: \"Timeline\",\n orientation: \"vertical\",\n dateFormat: \"MMM d, yyyy\",\n showDateLabels: true,\n collapsibleEvents: false,\n alternatingMode: false,\n dataTitleField: \"title\",\n dataDateField: \"date\",\n dataSubtitleField: \"subtitle\",\n dataDescriptionField: \"description\",\n dataImagesField: \"images\",\n dataActionsField: \"actions\",\n dataImagesAltField: \"altField\",\n navigatable: false\n },\n\n events: [\n \"collapse\",\n \"dataBound\",\n \"expand\",\n \"actionClick\",\n \"change\",\n \"navigate\"\n ]\n });\n kendo.ui.plugin(Timeline);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}