{"version":3,"sources":["kendo.timeline.js"],"names":["f","define","$","undefined","className","name","calculateTransform","element","x","values","matrix","css","match","width","calculateOffset","parentElement","offset","left","applyCssStyles","property","value","kendo","window","ui","Widget","DataSource","data","Transition","effects","proxy","keys","isArray","LEFT_PAGE","CETER_PAGE","RIGHT_PAGE","VERTICAL","TRANSITION_END","VIRTUAL_PAGE_COUNT","VIRTUAL_PAGE_CLASS","FLAGWRAPCLASS","TRACKITEMCLASS","SCROLLABLEWRAPCLASS","NS","CHANGE","DEFAULTHORIZONTALCARDTEMPLATE","DEFAULTVERTICALCARDTEMPLATE","HORIZONTALTRACKTEMPLATE","VERTICALEVENTSTEMPLATE","ARROWSHTML","Page","Class","extend","init","container","this","cardContainer","cardWrapper","append","content","htmlContent","uid","callOut","html","attr","position","setPageCallout","propery","callOutElement","find","destroy","that","remove","HorizontalPane","Observable","options","movable","transition","pages","fn","call","Movable","axis","onEnd","trigger","duration","eventTemplate","eventHeight","dataFieldMappings","bind","initPages","page","i","push","repositionPages","setPageContent","template","Function","titleField","title","subtitleField","subtitle","descriptionField","description","imagesField","images","actionsField","actions","altField","updatePage","isForward","calloutOffset","length","moveTo","moveAxis","transitionTo","ease","location","index","unbind","Timeline","orientation","addClass","_horizontal","_vertical","on","action","event","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","navigatable","collapsibleEvents","alternatingMode","card","cardBody","hasClass","fx","expand","stop","play","toggleClass","reverse","e","header","keyCode","SPACEBAR","ENTER","preventDefault","_renderContentVertical","itemTemplate","useWithBlock","dateField","dataDateField","dataTitleField","dataSubtitleField","dataDescriptionField","dataImagesField","dataActionsField","alterMode","dateFormat","showDateLabels","dataImagesAltField","eventWidth","_renderContentHorizontal","trackTemplate","_dataFieldMappings","initialEventIndex","parent","pane","transitionEnd","date","_transitionEnd","shift","unshift","pop","_transition","removeAttr","_cardId","_setCurrent","_currentBullet","_animationInProgress","_setCurrentEvent","trackItem","currentTarget","view","children","eventContainer","open","forward","trackItemCircle","trackItems","itemIndex","_removeCurrent","clearTimeout","navigateTimeOut","setTimeout","easeOutExpo","_repositionEvents","_navigateToView","delta","next","previous","_updateArrows","arrows","leftArrow","filter","rightArrow","_validateNavigation","removeClass","transform","_end","numOfEvents","maxEvents","Math","abs","_navigate","firstEventInViewIndex","firstEventInView","currentPage","scrollWrapElement","transitionEndHandler","end","leftOffset","currentIndex","firstIndexInView","_tackItemWidth","floor","eq","nextAll","first","prevAll","off","collapse","items","_resizeHandler","resizeTimeOut","_redrawEvents","redraw","circleElement","trackWrapScrollableElement","round","eventElement","_initHorizontal","firstEventElement","guid","handled","itemOffset","current","LEFT","RIGHT","id","siblings","_refresh","create","_sort","field","dir","autoBind","fetch","refresh","empty","events","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.timeline.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.timeline', [\n 'kendo.fx',\n 'kendo.data',\n 'kendo.draganddrop'\n ], f);\n}(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']\n };\n (function ($, undefined) {\n var kendo = window.kendo, ui = kendo.ui, Widget = ui.Widget, DataSource = kendo.data.DataSource, Transition = kendo.effects.Transition, proxy = $.proxy, keys = kendo.keys, isArray = $.isArray, LEFT_PAGE = -1, CETER_PAGE = 0, RIGHT_PAGE = 1, VERTICAL = 'vertical', TRANSITION_END = 'transitionEnd', VIRTUAL_PAGE_COUNT = 3, VIRTUAL_PAGE_CLASS = 'timeline-event', FLAGWRAPCLASS = 'k-timeline-flag-wrap', TRACKITEMCLASS = 'k-timeline-track-item', SCROLLABLEWRAPCLASS = 'k-timeline-scrollable-wrap', NS = '.kendoTimeline', CHANGE = 'change', DEFAULTHORIZONTALCARDTEMPLATE = '# var titleField = data.titleField, subtitleField = data.subtitleField, descriptionField = data.descriptionField, imagesField = data.imagesField, actionsField = data.actionsField, altField = data.altField, data = data.data; #' + '
' + '
' + '# if(data[titleField]) { #' + '
#: data[titleField] #
' + '# }' + 'if(data[subtitleField]) { #' + '
#: data[subtitleField] #
' + '# } #' + '
' + '
' + '
' + '# if(data[descriptionField]) { #' + '

#: data[descriptionField] #

' + '# }' + 'if(data[imagesField] && data[imagesField].length > 0) { #' + '\"#:data[altField]#\"' + '# } #' + '
' + '
' + '# if(data[actionsField] && data[actionsField].length > 0) { #' + '
' + '# for (var i = 0; i < data[actionsField].length; i++) { #' + '#: data[actionsField][i].text #' + '# } #' + '
' + '# } #' + '
', DEFAULTVERTICALCARDTEMPLATE = '# var titleField = data.titleField, subtitleField = data.subtitleField, descriptionField = data.descriptionField, imagesField = data.imagesField, navigatable = data.navigatable, collapsibleEvents = data.collapsibleEvents, actionsField = data.actionsField, altField = data.altField, data = data.data; #' + '
' + '
' + '
' + '# if(data[titleField]) { #' + '#: data[titleField] #' + '# } #' + '' + '' + '
' + '# if(data[subtitleField]) { #' + '
#: data[subtitleField] #
' + '# } #' + '
' + '
' + '
' + '# if(data[descriptionField]) { #' + '

#: data[descriptionField] #

' + '# } #' + '# if(data[imagesField] && data[imagesField].length > 0) { #' + '\"#:data[altField]#\"' + '# } #' + '
' + '
' + '# if(data[actionsField] && data[actionsField].length > 0) { #' + '
' + '# for (var i = 0; i < data[actionsField].length; i++) { #' + '#: data[actionsField][i].text #' + '# } #' + '
' + '# } #' + '
', HORIZONTALTRACKTEMPLATE = '# var itemTemplate = data.itemTemplate, dateField = data.dateField, dateFormat = data.dateFormat, showDateLabels = data.showDateLabels, data = data.data, year = 0; #' + '# for (var i = 0; i < data.length; i++) {' + 'if(!(data[i][dateField] instanceof Date)) {' + 'continue;' + '}' + 'var currentYear = data[i][dateField].getFullYear();' + 'if(year != currentYear) {' + 'year = currentYear; #' + '
  • ' + '#= year #' + '
  • ' + '# } #' + '
  • ' + '
    ' + '# if(showDateLabels) { #' + '#= kendo.toString(data[i][dateField], dateFormat) #' + '# } #' + '
    ' + '' + '
  • ' + '# } #', VERTICALEVENTSTEMPLATE = '# var itemTemplate = data.itemTemplate, dateField = data.dateField, titleField = data.titleField, descriptionField = data.descriptionField, subtitleField = data.subtitleField, imagesField = data.imagesField, actionsField = data.actionsField, alterMode = data.alterMode, collapsibleEvents = data.collapsibleEvents, dateFormat = data.dateFormat, showDateLabels = data.showDateLabels, navigatable = data.navigatable, altField = data.altField, data = data.data, counter = 0, year = 0, reverse = false;' + 'for (var i = 0; i < data.length; i++) {' + 'if(!(data[i][dateField] instanceof Date)) {' + 'continue;' + '}' + 'var currentYear = data[i][dateField].getFullYear();' + 'if(currentYear != year) {' + 'year = currentYear; #' + '
  • ' + '#= year #' + '
  • ' + '# } ' + 'reverse = counter % 2 === 0 && alterMode; #' + '
  • ' + '
    ' + '# if(showDateLabels) { #' + '#= kendo.toString(data[i][dateField], dateFormat) #' + '# } #' + '
    ' + '' + '
    ' + '
    ' + '' + '#= itemTemplate({titleField: titleField, subtitleField: subtitleField, descriptionField: descriptionField, imagesField: imagesField, actionsField: actionsField, data: data[i], altField: altField, navigatable: navigatable, collapsibleEvents: collapsibleEvents}) #' + '
    ' + '
    ' + '
  • ' + '# counter ++;' + '} #', ARROWSHTML = '' + '' + '' + '' + '' + '';\n function className(name) {\n return 'k-' + name;\n }\n function calculateTransform(element) {\n var matrix = element.css('transform');\n var x;\n var values;\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 function calculateOffset(element, parentElement) {\n return element.offset().left - parentElement.offset().left + element.width() / 2;\n }\n function applyCssStyles(element, property, value) {\n element.css(property, value);\n }\n var Page = kendo.Class.extend({\n init: function (container) {\n this.cardContainer = $('
    ');\n var cardWrapper = $('
    ').append(this.cardContainer);\n this.element = $('
  • ').append(cardWrapper);\n container.append(this.element);\n },\n content: function (htmlContent, uid) {\n var callOut = $('');\n this.cardContainer.html(htmlContent);\n this.cardContainer.append(callOut);\n this.element.attr('data-uid', uid);\n },\n position: function (position) {\n this.element.css('transform', 'translate3d(' + this.element.width() * position + 'px, 0, 0)');\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 destroy: function () {\n var that = this;\n that.cardContainer = null;\n that.element.remove();\n that.element = null;\n }\n });\n var HorizontalPane = kendo.Observable.extend({\n init: function (element, options) {\n var that = this;\n kendo.Observable.fn.init.call(this);\n this.element = element;\n var movable, transition, pages;\n movable = new kendo.ui.Movable(that.element);\n transition = new Transition({\n axis: 'x',\n movable: movable,\n onEnd: function () {\n that.trigger(TRANSITION_END);\n }\n });\n pages = [];\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 });\n this.bind([TRANSITION_END], options);\n },\n initPages: function () {\n var pages = this.pages, element = this.element, page;\n for (var i = 0; i < VIRTUAL_PAGE_COUNT; i++) {\n page = new Page(element);\n pages.push(page);\n }\n },\n repositionPages: function () {\n var pages = this.pages;\n pages[0].position(LEFT_PAGE);\n pages[1].position(CETER_PAGE);\n pages[2].position(RIGHT_PAGE);\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 html;\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 page.content(html, data.uid);\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 this.setPageContent(page, data);\n page.setPageCallout('left', calloutOffset / page.element.width() * 100 + '%');\n },\n moveTo: function (offset) {\n this.movable.moveAxis('x', -offset);\n },\n transitionTo: function (offset, ease) {\n this.transition.moveTo({\n location: offset,\n duration: this.duration,\n ease: ease\n });\n },\n destroy: function () {\n var that = this;\n for (var index = 0; index < that.pages.length; index++) {\n that.pages[index].destroy();\n }\n that.unbind();\n that.movable = that.transition = that.dataFieldMappings = that.eventTemplate = that.duration = that.pages = null;\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 Widget.fn.init.call(this, element, options);\n this.element.addClass(orientation === VERTICAL ? 'k-timeline k-widget k-timeline-vertical' : 'k-timeline k-widget k-timeline-horizontal');\n if (orientation != VERTICAL) {\n that._horizontal();\n } else {\n that._vertical();\n }\n this.element.on('click', '.k-card-actions', function () {\n var action = $(event.target);\n var dataItemUid = $(event.target).closest('.k-timeline-event').data('uid');\n var dataItem = that.dataSource.getByUid(dataItemUid);\n that.trigger('actionClick', {\n sender: that,\n element: action,\n 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 that._initDataFieldMappings();\n that.setDataSource(options.dataSource);\n },\n _horizontal: function () {\n var that = this;\n var element = this.element;\n var options = this.options;\n var trackWrap = $('
    ');\n var trackEl = $('
    ');\n var scrollableWrap = $('
      ');\n var eventsWrap = $('
      ');\n var eventsList = $('
        ');\n that._trackWrap = trackWrap;\n that._trackEl = trackEl;\n that._scrollableWrap = scrollableWrap;\n that._eventsWrap = eventsWrap;\n that._eventsList = eventsList;\n trackWrap.addClass('k-timeline-track-wrap');\n trackEl.addClass('k-timeline-track');\n scrollableWrap.addClass('k-timeline-scrollable-wrap');\n eventsWrap.addClass('k-timeline-events-list');\n eventsList.addClass('k-timeline-scrollable-wrap');\n if (options.eventHeight) {\n eventsList.height(options.eventHeight);\n }\n trackEl.append(scrollableWrap);\n trackWrap.append(ARROWSHTML);\n trackWrap.append(trackEl);\n eventsWrap.append(eventsList);\n trackWrap.appendTo(element);\n eventsWrap.appendTo(element);\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 that.element.append(eventsList);\n if (options.alternatingMode) {\n element.addClass('k-timeline-alternating');\n }\n if (collapsibleEvents) {\n element.addClass('k-timeline-collapsible');\n this.element.on('click', '.k-card-header', function () {\n var card = $(this).closest('.k-timeline-card');\n var cardBody = card.find('.k-card-body');\n var dataItem = that.dataSource.getByUid(card.closest('li').data('uid'));\n if (card.hasClass('k-collapsed')) {\n if (!that.trigger('expand', {\n sender: that,\n dataItem: dataItem\n })) {\n kendo.fx(cardBody).expand('vertical').stop().play();\n card.toggleClass('k-collapsed');\n if (navigatable && collapsibleEvents) {\n card.find('.k-card').attr('aria-expanded', true);\n }\n }\n } else {\n if (!that.trigger('collapse', {\n sender: that,\n dataItem: dataItem\n })) {\n kendo.fx(cardBody).expand('vertical').stop().reverse();\n card.toggleClass('k-collapsed');\n if (navigatable && collapsibleEvents) {\n card.find('.k-card').attr('aria-expanded', false);\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 _renderContentVertical: function (data) {\n var that = this;\n var options = that.options;\n var html;\n var itemTemplate;\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 var template = kendo.template(VERTICALEVENTSTEMPLATE, { useWithBlock: false });\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 this._eventsList.html(html);\n if (options.eventWidth) {\n that.element.find('.k-card').width(options.eventWidth);\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 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 var trackTemplate = kendo.template(HORIZONTALTRACKTEMPLATE, { useWithBlock: false });\n html = trackTemplate({\n data: data,\n itemTemplate: itemTemplate,\n dateFormat: options.dateFormat,\n dateField: options.dataDateField,\n showDateLabels: options.showDateLabels\n });\n if (options.initialEventIndex) {\n that._trackWrap.append($(html).find('.k-timeline-scrollable-wrap').css('transform', 'translateX(-100%)').parent());\n } else {\n that._scrollableWrap.html(html);\n }\n if (that.pane) {\n that.pane.destroy();\n }\n that.pane = new HorizontalPane(that._eventsList, {\n transitionEnd: proxy(this, '_transitionEnd'),\n eventTemplate: itemTemplate,\n dataFieldMappings: dataFieldMappings,\n eventHeight: options.eventHeight\n });\n },\n _initDataFieldMappings: function () {\n var that = this;\n var options = that.options;\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 _transitionEnd: function () {\n if (this._forward) {\n this.pane.pages.push(this.pane.pages.shift());\n } else {\n this.pane.pages.unshift(this.pane.pages.pop());\n }\n this._forward = null;\n this.pane.repositionPages();\n this.pane.movable.moveAxis('x', 0);\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 _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 eventContainer = that._forward ? that.pane.pages[2].element : that.pane.pages[0].element;\n if (!that.trigger('change', {\n eventContainer: eventContainer,\n dataItem: dataItem\n })) {\n that.open(trackItem);\n }\n },\n open: function (element) {\n var that = this;\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 if (this.options.navigatable) {\n that._removeCurrent();\n trackItems.attr('aria-selected', false);\n trackItem.attr('aria-selected', true);\n that._currentBullet = trackItem;\n }\n var dataItem = that.dataSource.view()[itemIndex];\n if (that.currentEventIndex === itemIndex) {\n return;\n }\n that._currentIndex = trackItem.index();\n forward = that._forward = that.currentEventIndex < itemIndex;\n that.currentEventIndex = itemIndex;\n that.pane.updatePage(forward, dataItem, calculateOffset(trackItemCircle, that._trackWrap));\n if (that._forward) {\n clearTimeout(that.navigateTimeOut);\n that.navigateTimeOut = setTimeout(function () {\n that.pane.transition.moveTo({\n location: -that.pane.pages[2].element.width(),\n duration: 800,\n ease: Transition.easeOutExpo\n });\n }, 200);\n } else {\n clearTimeout(that.navigateTimeOut);\n that.navigateTimeOut = setTimeout(function () {\n that.pane.transition.moveTo({\n location: that.pane.pages[0].element.width(),\n duration: 800,\n ease: Transition.easeOutExpo\n });\n }, 200);\n }\n that._repositionEvents();\n },\n _navigateToView: function (event) {\n var that = this;\n var delta = $(event.currentTarget).hasClass('k-timeline-arrow-right') ? 1 : -1;\n if (!that.trigger('navigate', {\n sender: that,\n action: delta > 0 ? 'next' : 'previous'\n }) && !that._animationInProgress) {\n that._animationInProgress = true;\n if (delta > 0) {\n that.next();\n } else {\n that.previous();\n }\n that._updateArrows();\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 if (that._validateNavigation(false)) {\n leftArrow.addClass('k-state-disabled');\n } else {\n leftArrow.removeClass('k-state-disabled');\n }\n if (that._validateNavigation(true)) {\n rightArrow.addClass('k-state-disabled');\n } else {\n rightArrow.removeClass('k-state-disabled');\n }\n },\n _validateNavigation: function (next) {\n var that = this;\n var transform = that._end || 0;\n if (next) {\n return that._firstIndexInView + that.numOfEvents >= that.maxEvents;\n } else {\n return Math.abs(transform) <= 1;\n }\n },\n next: function () {\n var that = this;\n var options = that.options;\n if (!that._validateNavigation(true) && options.orientation != VERTICAL) {\n that._forward = true;\n that._navigate();\n }\n that._updateArrows();\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 end = forward ? end - 100 : end + 100;\n if (end >= 0) {\n end = 0;\n }\n that._end = end;\n width = that._tackItemWidth;\n currentPage = Math.floor(currentIndex / that.numOfEvents);\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 dataItem = that.dataSource.view()[firstEventInView.index('li[class=\\'k-timeline-track-item\\']')];\n this._trackWrap.find('.' + SCROLLABLEWRAPCLASS).css('transform', 'translateX(' + end + '%)');\n if (that._currentIndex != firstEventInView.index()) {\n that.currentEventIndex = firstEventInView.index('li[class=\\'k-timeline-track-item\\']');\n that._currentIndex = firstEventInView.index();\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 clearTimeout(that.navigateTimeOut);\n that.navigateTimeOut = setTimeout(function () {\n if (forward && that.pane && that.pane.pages.length > 0) {\n that.pane.transition.moveTo({\n location: -that.pane.pages[2].element.width(),\n duration: 800,\n ease: Transition.easeOutExpo\n });\n } else {\n that.pane.transition.moveTo({\n location: that.pane.pages[0].element.width(),\n duration: 800,\n ease: Transition.easeOutExpo\n });\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 previous: function () {\n var that = this;\n var options = that.options;\n if (!that._validateNavigation(false) && options.orientation != VERTICAL) {\n that._forward = false;\n that._navigate();\n }\n that._updateArrows();\n },\n expand: function (event) {\n var cardWrapper = $(event).find('.k-timeline-card');\n var cardBody = $(event).find('.k-card-body');\n if (cardWrapper.hasClass('k-collapsed')) {\n kendo.fx(cardBody).expand('vertical').stop().play();\n cardWrapper.removeClass('k-collapsed');\n }\n },\n collapse: function (event) {\n var cardWrapper = $(event).find('.k-timeline-card');\n var cardBody = $(event).find('.k-card-body');\n if (!cardWrapper.hasClass('k-collapsed')) {\n kendo.fx(cardBody).expand('vertical').stop().reverse();\n cardWrapper.addClass('k-collapsed');\n }\n },\n items: function () {\n return this.element.find('li[data-uid]');\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 redraw: function () {\n var options = this.options;\n if (options.orientation != VERTICAL) {\n this._redrawEvents();\n this.pane.repositionPages();\n }\n },\n _redrawEvents: function () {\n var that = this;\n var numOfEvents = Math.floor(that.element.find('.k-timeline-scrollable-wrap').width() / 150);\n var width;\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.k-timeline-track-item').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.k-timeline-track-item'), 'flex', '1 0 ' + width + '%');\n that._tackItemWidth = width;\n that._repositionEvents();\n }\n }\n that._updateArrows();\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 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 } 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.k-timeline-track-item').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 that._updateArrows();\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 that.maxEvents = that._trackWrap.find('.k-timeline-track-item').length;\n that._currentIndex = 1;\n that.pane.initPages();\n that.pane.repositionPages();\n that.pane.updatePage(that._forward, dataItem, calculateOffset(firstEventElement, that._trackWrap));\n that._updateArrows();\n $(window).on('resize' + NS, proxy(this, '_resizeHandler'));\n that._trackWrap.on('click', '.k-timeline-track-item:not(.k-timeline-flag-wrap)', proxy(this, '_setCurrentEvent'));\n that._trackWrap.on('click', '.k-timeline-arrow:not(.k-state-disabled)', proxy(this, '_navigateToView'));\n if (navigatable) {\n that._trackWrap.find('.k-timeline-track-item.k-timeline-flag-wrap').attr('aria-hidden', true);\n that._trackWrap.find('.k-timeline-track-item:not(.k-timeline-flag-wrap)').attr('role', 'option').attr('aria-selected', false).first().attr('aria-selected', true);\n that._cardId = kendo.guid();\n that._scrollableWrap.attr('role', 'listbox').attr('tabindex', 0).on('focus' + NS, function () {\n that.pane.pages[1].cardContainer.attr('id', that._cardId);\n that._setCurrent(that._scrollableWrap.find('.k-timeline-track-item').eq(that._currentIndex));\n }).on('focusout' + NS, function () {\n that._removeCurrent();\n }).on('keydown' + NS, function (e) {\n var handled;\n var current = that._currentBullet;\n var itemOffset;\n var next;\n if (that._transition) {\n return;\n }\n if (e.keyCode == keys.LEFT) {\n handled = true;\n next = current.prevAll('.k-timeline-track-item:not(.k-timeline-flag-wrap)').first();\n if (next.length) {\n itemOffset = calculateOffset(next, that._trackWrap);\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._setCurrent(next);\n }\n }\n }\n if (e.keyCode == keys.RIGHT) {\n handled = true;\n next = current.nextAll('.k-timeline-track-item:not(.k-timeline-flag-wrap)').first();\n if (next.length) {\n itemOffset = calculateOffset(next, that._trackWrap);\n if (itemOffset < 0 || itemOffset > next.parent().width()) {\n that._transition = true;\n that._removeCurrent();\n that.next();\n that.open(next);\n } else {\n that._setCurrent(next);\n }\n }\n }\n if (e.keyCode == keys.SPACEBAR || e.keyCode == keys.ENTER) {\n handled = true;\n that._currentBullet.trigger('click');\n }\n if (handled) {\n e.preventDefault();\n }\n });\n }\n },\n _setCurrent: function (next) {\n if (!next) {\n return;\n }\n var id = kendo.guid();\n var that = this;\n that._removeCurrent();\n that._scrollableWrap.attr('aria-activedescendant', id);\n next.attr('id', id).addClass('k-state-focus');\n next.siblings().removeAttr('aria-describedby');\n if (next.attr('aria-selected') === 'true') {\n next.attr('aria-describedby', that._cardId);\n }\n that._currentBullet = next;\n },\n _removeCurrent: function () {\n if (this._currentBullet) {\n this._currentBullet.removeClass('k-state-focus').removeAttr('id').removeAttr('aria-describedby');\n }\n this._scrollableWrap.removeAttr('aria-activedescendant');\n },\n setDataSource: function (dataSource) {\n var that = this;\n var options = that.options;\n dataSource = isArray(dataSource) ? { data: dataSource } : dataSource;\n if (that.dataSource && that._refresh) {\n that.dataSource.unbind(CHANGE, that._refresh);\n } else {\n this._refresh = proxy(that, 'refresh');\n }\n this.dataSource = DataSource.create(dataSource);\n if (this.dataSource._sort === undefined) {\n this.dataSource._sort = [{\n field: options.dataDateField,\n dir: 'asc'\n }];\n }\n that.dataSource.bind(CHANGE, that._refresh);\n if (options.autoBind) {\n this.dataSource.fetch();\n }\n },\n refresh: function () {\n var that = this;\n var options = that.options;\n var data = this.dataSource.view();\n if (options.orientation != VERTICAL) {\n that._trackWrap.empty().remove();\n that.element.find('.k-timeline-events-list').remove();\n that._horizontal();\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 that._initDataFieldMappings();\n if (data.length) {\n if (options.orientation === 'horizontal') {\n that._renderContentHorizontal(data);\n that._redrawEvents();\n that._initHorizontal();\n } else {\n that._renderContentVertical(data);\n }\n }\n that.trigger('dataBound', { sender: that });\n },\n destroy: function () {\n var options = this.options;\n Widget.fn.destroy.call(this);\n if (this.resizeTimeOut) {\n clearTimeout(this.resizeTimeOut);\n }\n if (this.navigateTimeOut) {\n clearTimeout(this.navigateTimeOut);\n }\n $(window).off('resize' + NS, this._resizeHandler);\n this.element.off();\n if (options.orientation != VERTICAL) {\n this.pane.destroy();\n this._trackWrap.find('.' + SCROLLABLEWRAPCLASS).off();\n this.element.find('.k-timeline-arrow').off();\n this._trackWrap.off();\n this.currentEventIndex = this.maxEvents = this.numOfEvents = this._currentIndex = this._eventPage = this._eventsList = this._eventsWrap = this.element = this._trackWrap = this.pane = null;\n }\n kendo.destroy(this.element);\n this._dataFieldMappings = this.element = null;\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 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 return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}