{"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","Array","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","itemWrapper","parent","hasClass","expand","collapse","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","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","cardElement","cardBody","fx","stop","play","reverse","items","_resizeHandler","resizeTimeOut","_redrawEvents","redraw","circleElement","trackWrapScrollableElement","round","eventElement","_initHorizontal","firstEventElement","guid","handled","itemOffset","current","LEFT","RIGHT","_ariaLabel","id","siblings","labelId","inputElm","ul","labelElm","ariaLabel","ariaLabelledBy","_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 = Array.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 itemWrapper = card.parent();\n var dataItem = that.dataSource.getByUid(itemWrapper.data('uid'));\n if (card.hasClass('k-collapsed')) {\n if (!that.trigger('expand', {\n sender: that,\n dataItem: dataItem\n })) {\n that.expand(itemWrapper);\n }\n } else {\n if (!that.trigger('collapse', {\n sender: that,\n dataItem: dataItem\n })) {\n that.collapse(itemWrapper);\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 options = this.options, cardWrapper = $(event).find('.k-timeline-card'), cardElement = $(event).find('.k-card'), cardBody = $(event).find('.k-card-body');\n if (!cardWrapper.hasClass('k-collapsed')) {\n return;\n }\n if (options.navigatable && options.collapsibleEvents) {\n cardElement.attr('aria-expanded', true);\n }\n cardWrapper.removeClass('k-collapsed');\n kendo.fx(cardBody).expand('vertical').stop().play();\n },\n collapse: function (event) {\n var options = this.options, cardWrapper = $(event).find('.k-timeline-card'), cardElement = $(event).find('.k-card'), cardBody = $(event).find('.k-card-body');\n if (cardWrapper.hasClass('k-collapsed')) {\n return;\n }\n if (options.navigatable && options.collapsibleEvents) {\n cardElement.attr('aria-expanded', false);\n }\n cardWrapper.addClass('k-collapsed');\n kendo.fx(cardBody).expand('vertical').stop().reverse();\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('aria-orientation', 'horizontal').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 that._ariaLabel();\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 _ariaLabel: function () {\n var that = this;\n var inputElm = that.element;\n var ul = that._scrollableWrap;\n var id = inputElm.attr('id');\n var labelElm = $('label[for=\\'' + id + '\\']');\n var ariaLabel = inputElm.attr('aria-label');\n var ariaLabelledBy = inputElm.attr('aria-labelledby');\n var labelId;\n if (ariaLabel) {\n ul.attr('aria-label', ariaLabel);\n } else if (ariaLabelledBy) {\n ul.attr('aria-labelledby', ariaLabelledBy);\n } else if (labelElm.length) {\n labelId = labelElm.attr('id');\n if (labelId) {\n ul.attr('aria-labelledby', labelId);\n } else {\n labelId = kendo.guid();\n labelElm.attr('id', labelId);\n ul.attr('aria-labelledby', labelId);\n }\n }\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}));"]}