@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 20.1 kB
JavaScript
module.exports=function(e){function t(i){if(a[i])return a[i].exports;var n=a[i]={exports:{},id:i,loaded:!1};return e[i].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var a={};return t.m=e,t.c=a,t.p="",t(0)}({0:function(e,t,a){e.exports=a(1386)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1027:function(e,t){e.exports=require("./kendo.data")},1072:function(e,t){e.exports=require("./kendo.fx")},1077:function(e,t){e.exports=require("./kendo.draganddrop")},1386:function(e,t,a){var i,n,s;!function(r,define){n=[a(1072),a(1027),a(1077)],i=r,s="function"==typeof i?i.apply(t,n):i,!(void 0!==s&&(e.exports=s))}(function(){return function(e,t){function a(e){return"k-"+e}function i(e){var t,a,i=e.css("transform");return"none"!=i?(a=i.match(/-?[\d\.]+/g),t=a[4],t/e.width()*100):0}function n(e,t){return e.offset().left-t.offset().left+e.width()/2}function s(e,t,a){e.css(t,a)}var r=window.kendo,l=r.ui,d=l.Widget,o=r.data.DataSource,c=r.effects.Transition,p=e.proxy,u=e.isArray,m=-1,f=0,v=1,h="vertical",k="transitionEnd",g=3,_="timeline-event",F="k-timeline-flag-wrap",w="k-timeline-track-item",x="k-timeline-scrollable-wrap",b=".kendoTimeline",T="change",I='# var titleField = data.titleField, subtitleField = data.subtitleField, descriptionField = data.descriptionField, imagesField = data.imagesField, actionsField = data.actionsField, data = data.data; #<div class="k-card-header"># if(data[titleField]) { #<h5 class="k-card-title">#= data[titleField] #</h5># }if(data[subtitleField]) { #<h6 class="k-card-subtitle">#= data[subtitleField] #</h6># } #</div><div class="k-card-body"><div class="k-card-description"># if(data[descriptionField]) { #<p>#= data[descriptionField] #</p># }if(data[imagesField] && data[imagesField].length > 0) { #<img src="#= data[imagesField][0].src #" class="k-card-image" /># } #</div></div># if(data[actionsField] && data[actionsField].length > 0) { #<div class="k-card-actions"># for (var i = 0; i < data[actionsField].length; i++) { #<a class="k-button k-flat k-primary" href="#= data[actionsField][i].url ? data[actionsField][i].url : "\\#" #">#= data[actionsField][i].text #</a># } #</div># } #',E='# var titleField = data.titleField, subtitleField = data.subtitleField, descriptionField = data.descriptionField, imagesField = data.imagesField, actionsField = data.actionsField, data = data.data; #<div class="k-card-header"><h5 class="k-card-title"># if(data[titleField]) { #<span class="k-event-title">#= data[titleField] #</span># } #<span class="k-event-collapse k-button k-button-icon k-flat"><span class="k-icon k-i-arrow-chevron-right"></span></span></h5># if(data[subtitleField]) { #<h6 class="k-card-subtitle">#= data[subtitleField] #</h6># } #</div><div class="k-card-body"><div class="k-card-description"># if(data[descriptionField]) { #<p>#= data[descriptionField] #</p># } ## if(data[imagesField] && data[imagesField].length > 0) { #<img src="#= data[imagesField][0].src #" class="k-card-image" /># } #</div></div># if(data[actionsField] && data[actionsField].length > 0) { #<div class="k-card-actions"># for (var i = 0; i < data[actionsField].length; i++) { #<a class="k-button k-flat k-primary" href="#= data[actionsField][i].url ? data[actionsField][i].url : "\\#" #">#= data[actionsField][i].text #</a># } #</div># } #',C='# 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; #<li class="k-timeline-track-item k-timeline-flag-wrap"><span class="k-timeline-flag">#= year #</span></li># } #<li class="k-timeline-track-item"><div class="k-timeline-date-wrap"># if(showDateLabels) { #<span class="k-timeline-date">#= kendo.toString(data[i][dateField], dateFormat) #</span># } #</div><a class="k-timeline-circle"></a></li># } #',W='# 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, 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; #<li class="k-timeline-flag-wrap"><span class="k-timeline-flag">#= year #</span></li># } reverse = counter % 2 === 0 && alterMode; #<li class="#= reverse ? \'k-timeline-event k-reverse\' : \'k-timeline-event\' #" data-uid="#: data[i].uid #"># if(showDateLabels) { #<div class="k-timeline-date-wrap"><span class="k-timeline-date">#= kendo.toString(data[i][dateField], dateFormat) #</span></div># } #<a class="k-timeline-circle"></a><div class="#= collapsibleEvents ? \'k-timeline-card k-collapsed\' : \'k-timeline-card\' #"><div class="k-card"><span class="#= reverse ? \'k-timeline-card-callout k-card-callout k-callout-e\' : \'k-timeline-card-callout k-card-callout k-callout-w\' #"></span>#= itemTemplate({titleField: titleField, subtitleField: subtitleField, descriptionField: descriptionField, imagesField: imagesField, actionsField: actionsField, data: data[i]}) #</div></div></li># counter ++;} #',y='<a class="k-button k-timeline-arrow k-timeline-arrow-left k-state-disabled" title="previous"><span class="k-icon k-i-arrow-60-left"></span></a><a class="k-button k-timeline-arrow k-timeline-arrow-right k-state-disabled" title="next"><span class="k-icon k-i-arrow-60-right"></span></a>',O=r.Class.extend({init:function(t){this.cardContainer=e("<div class='k-card' />");var i=e("<div class='k-timeline-card'></div>").append(this.cardContainer);this.element=e("<li class='"+a(_)+"'></li>").append(i),t.append(this.element)},content:function(t,a){var i=e("<span class='k-timeline-card-callout k-card-callout k-callout-n'></span>");this.cardContainer.html(t),this.cardContainer.append(i),this.element.attr("data-uid",a)},position:function(e){this.element.css("transform","translate3d("+this.element.width()*e+"px, 0, 0)")},setPageCallout:function(e,t){var a=this.element,i=a.find(".k-timeline-card-callout");i.css(e,t)},destroy:function(){var e=this;e.cardContainer=null,e.element.remove(),e.element=null}}),M=r.Observable.extend({init:function(t,a){var i,n,s,l=this;r.Observable.fn.init.call(this),this.element=t,i=new r.ui.Movable(l.element),n=new c({axis:"x",movable:i,onEnd:function(){l.trigger(k)}}),s=[],e.extend(l,{duration:a&&a.duration||1,movable:i,transition:n,pages:s,eventTemplate:a.eventTemplate,eventHeight:a.eventHeight,dataFieldMappings:a.dataFieldMappings}),this.bind([k],a)},initPages:function(){var e,t,a=this.pages,i=this.element;for(t=0;t<g;t++)e=new O(i),a.push(e)},repositionPages:function(){var e=this.pages;e[0].position(m),e[1].position(f),e[2].position(v)},setPageContent:function(e,t){var a=typeof this.eventTemplate===Function?this.eventTemplate:r.template(this.eventTemplate),i=this.dataFieldMappings,n=a({data:t,titleField:i.title,subtitleField:i.subtitle,descriptionField:i.description,imagesField:i.images,actionsField:i.actions});e.content(n,t.uid)},updatePage:function(e,t,a){var i=this.pages,n=null===e?i[1]:e?i[i.length-1]:i[0];this.setPageContent(n,t),n.setPageCallout("left",a/n.element.width()*100+"%")},moveTo:function(e){this.movable.moveAxis("x",-e)},transitionTo:function(e,t){this.transition.moveTo({location:e,duration:this.duration,ease:t})},destroy:function(){var e,t=this;for(e=0;e<t.pages.length;e++)t.pages[e].destroy();t.unbind(),t.movable=t.transition=t.dataFieldMappings=t.eventTemplate=t.duration=t.pages=null}}),D=r.ui.Widget.extend({init:function(t,a){var i=this,n=a.orientation||i.options.orientation;d.fn.init.call(this,t,a),this.element.addClass(n===h?"k-timeline k-widget k-timeline-vertical":"k-timeline k-widget k-timeline-horizontal"),n!=h?i._horizontal():i._vertical(),this.element.on("click",".k-card-actions",function(){var t=e(event.target),a=e(event.target).closest(".k-timeline-event").data("uid"),n=i.dataSource.getByUid(a);i.trigger("actionClick",{sender:i,element:t,dataItem:n})}),i.currentEventIndex=0,i._forward=null,i._eventPage=1,i._currentIndex=0,i._firstIndexInView=0,i._initDataFieldMappings(),i.setDataSource(a.dataSource)},_horizontal:function(){var t=this,a=this.element,i=this.options,n=e("<div />"),s=e("<div />"),r=e("<ul />"),l=e("<div />"),d=e("<ul />");t._trackWrap=n,t._trackEl=s,t._scrollableWrap=r,t._eventsWrap=l,t._eventsList=d,n.addClass("k-timeline-track-wrap"),s.addClass("k-timeline-track"),r.addClass("k-timeline-scrollable-wrap"),l.addClass("k-timeline-events-list"),d.addClass("k-timeline-scrollable-wrap"),i.eventHeight&&d.height(i.eventHeight),s.append(r),n.append(y),n.append(s),l.append(d),n.appendTo(a),l.appendTo(a)},_vertical:function(){var t=this,a=this.options,i=this.element,n=t._eventsList=e("<ul />");t.element.append(n),a.alternatingMode&&i.addClass("k-timeline-alternating"),a.collapsibleEvents&&(i.addClass("k-timeline-collapsible"),this.element.on("click",".k-card-header",function(){var a=e(this).closest(".k-timeline-card"),i=a.find(".k-card-body"),n=t.dataSource.getByUid(a.closest("li").data("uid"));a.hasClass("k-collapsed")?t.trigger("expand",{sender:t,dataItem:n})||(r.fx(i).expand("vertical").stop().play(),a.toggleClass("k-collapsed")):t.trigger("collapse",{sender:t,dataItem:n})||(r.fx(i).expand("vertical").stop().reverse(),a.toggleClass("k-collapsed"))}))},_renderContentVertical:function(e){var t,a,i,n=this,s=n.options;a=typeof s.eventTemplate===Function?s.eventTemplate:s.eventTemplate?r.template(s.eventTemplate):r.template(E,{useWithBlock:!1}),i=r.template(W,{useWithBlock:!1}),t=i({data:e,dateField:s.dataDateField,titleField:s.dataTitleField,subtitleField:s.dataSubtitleField,descriptionField:s.dataDescriptionField,imagesField:s.dataImagesField,actionsField:s.dataActionsField,itemTemplate:a,alterMode:s.alternatingMode,collapsibleEvents:s.collapsibleEvents,dateFormat:s.dateFormat,showDateLabels:s.showDateLabels}),this._eventsList.html(t),s.eventWidth&&n.element.find(".k-card").width(s.eventWidth)},_renderContentHorizontal:function(t){var a,i,n,s=this,l=s.options,d=s._dataFieldMappings;i=typeof l.eventTemplate===Function?l.eventTemplate:l.eventTemplate?r.template(l.eventTemplate):r.template(I,{useWithBlock:!1}),n=r.template(C,{useWithBlock:!1}),a=n({data:t,itemTemplate:i,dateFormat:l.dateFormat,dateField:l.dataDateField,showDateLabels:l.showDateLabels}),l.initialEventIndex?s._trackWrap.append(e(a).find(".k-timeline-scrollable-wrap").css("transform","translateX(-100%)").parent()):s._scrollableWrap.html(a),s.pane&&s.pane.destroy(),s.pane=new M(s._eventsList,{transitionEnd:p(this,"_transitionEnd"),eventTemplate:i,dataFieldMappings:d,eventHeight:l.eventHeight})},_initDataFieldMappings:function(){var e=this,t=e.options;e._dataFieldMappings={title:t.dataTitleField,subtitle:t.dataSubtitleField,date:t.dataDateField,description:t.dataDescriptionField,images:t.dataImagesField,actions:t.dataActionsField}},_transitionEnd:function(){this._forward?this.pane.pages.push(this.pane.pages.shift()):this.pane.pages.unshift(this.pane.pages.pop()),this._forward=null,this.pane.repositionPages(),this.pane.movable.moveAxis("x",0),this._animationInProgress=!1},_setCurrentEvent:function(t){var a=this,i=e(t.currentTarget),n=a.dataSource.view()[i.index("li[class='k-timeline-track-item']")],s=a._forward?a.pane.pages[2].element:a.pane.pages[0].element;a.trigger("change",{eventContainer:s,dataItem:n})||a.open(i)},open:function(t){var a,i=this,s=e(t),r=s.find(".k-timeline-circle"),l=s.index("li[class='k-timeline-track-item']"),d=i.dataSource.view()[l];i.currentEventIndex!==l&&(i._currentIndex=s.index(),a=i._forward=i.currentEventIndex<l,i.currentEventIndex=l,i.pane.updatePage(a,d,n(r,i._trackWrap)),i._forward?(clearTimeout(i.navigateTimeOut),i.navigateTimeOut=setTimeout(function(){i.pane.transition.moveTo({location:-i.pane.pages[2].element.width(),duration:800,ease:c.easeOutExpo})},200)):(clearTimeout(i.navigateTimeOut),i.navigateTimeOut=setTimeout(function(){i.pane.transition.moveTo({location:i.pane.pages[0].element.width(),duration:800,ease:c.easeOutExpo})},200)),i._repositionEvents())},_navigateToView:function(t){var a=this,i=e(t.currentTarget).hasClass("k-timeline-arrow-right")?1:-1;a.trigger("navigate",{sender:a,action:i>0?"next":"previous"})||a._animationInProgress||(a._animationInProgress=!0,i>0?a.next():a.previous(),a._updateArrows())},_updateArrows:function(){var e=this,t=e.element.find(".k-timeline-arrow");e._validateNavigation(!1)?t.filter(".k-timeline-arrow-left").addClass("k-state-disabled"):t.filter(".k-timeline-arrow-left").removeClass("k-state-disabled"),e._validateNavigation(!0)?t.filter(".k-timeline-arrow-right").addClass("k-state-disabled"):t.filter(".k-timeline-arrow-right").removeClass("k-state-disabled")},_validateNavigation:function(e){var t=this,a=t._end||0;return e?t._firstIndexInView+t.numOfEvents>=t.maxEvents:Math.abs(a)<=1},next:function(){var e=this,t=e.options;e._validateNavigation(!0)||t.orientation==h||(e._forward=!0,e._navigate()),e._updateArrows()},_navigate:function(){var t,a,s,r,l,d,o,p=this,u=p._forward,m=i(this._trackWrap.find("."+x)),f=u?-e("."+x).width():e("."+x).width(),v=p._currentIndex,h=p._firstIndexInView;m=u?m-100:m+100,m>=0&&(m=0),p._end=m,r=p._tackItemWidth,l=Math.floor(v/p.numOfEvents),u?1===p.numOfEvents?(t=0===h?1:h,a=this._trackWrap.find("."+w).eq(t).nextAll(":not(."+F+")").first(),p._firstIndexInView=a.index()):(t=h+p.numOfEvents-1,a=this._trackWrap.find("."+w).eq(t).nextAll(":not(."+F+")").first(),p._firstIndexInView=h+p.numOfEvents):1===p.numOfEvents?(t=h,a=this._trackWrap.find("."+w).eq(t).prevAll(":not(."+F+")").first(),p._firstIndexInView=a.index()):(t=h,a=this._trackWrap.find("."+w).eq(t).prevAll(":not(."+F+")").first(),a=a.length>0?a:this._trackWrap.find("."+w+":not(."+F+")").first(),p._firstIndexInView=h-p.numOfEvents<0?0:h-p.numOfEvents),s=p.dataSource.view()[a.index("li[class='k-timeline-track-item']")],this._trackWrap.find("."+x).css("transform","translateX("+m+"%)"),p._currentIndex!=a.index()?(p.currentEventIndex=a.index("li[class='k-timeline-track-item']"),p._currentIndex=a.index(),p.pane.updatePage(p._forward,s,0!==l||u?n(a.find(".k-timeline-circle"),p._trackWrap)+f:a.find(".k-timeline-circle").offset().left+15),clearTimeout(p.navigateTimeOut),p.navigateTimeOut=setTimeout(function(){p.pane.transition.moveTo(u&&p.pane&&p.pane.pages.length>0?{location:-p.pane.pages[2].element.width(),duration:800,ease:c.easeOutExpo}:{location:p.pane.pages[0].element.width(),duration:800,ease:c.easeOutExpo})},200)):(d=this._trackWrap.find("."+x),o=function(){var e,t;1!=p.numOfEvents&&(e=p.pane.pages[1],t=n(a.find(".k-timeline-circle"),p._trackWrap),e.setPageCallout("left",t/e.element.width()*100+"%")),d.off("transitionend"+b,o)},d.on("transitionend"+b,o))},previous:function(){var e=this,t=e.options;e._validateNavigation(!1)||t.orientation==h||(e._forward=!1,e._navigate()),e._updateArrows()},expand:function(t){var a=e(t).find(".k-timeline-card"),i=e(t).find(".k-card-body");a.hasClass("k-collapsed")&&(r.fx(i).expand("vertical").stop().play(),a.removeClass("k-collapsed"))},collapse:function(t){var a=e(t).find(".k-timeline-card"),i=e(t).find(".k-card-body");a.hasClass("k-collapsed")||(r.fx(i).expand("vertical").stop().reverse(),a.addClass("k-collapsed"))},items:function(){return this.element.find("li[data-uid]")},_resizeHandler:function(){var e=this;clearTimeout(e.resizeTimeOut),e.resizeTimeOut=setTimeout(function(){e._redrawEvents(),e.pane.repositionPages()})},redraw:function(){var e=this.options;e.orientation!=h&&(this._redrawEvents(),this.pane.repositionPages())},_redrawEvents:function(){var e,t=this,a=Math.floor(t.element.find(".k-timeline-scrollable-wrap").width()/150);t.element.width()<=480?(t.element.addClass("k-timeline-mobile"),e=100,t.numOfEvents=1,t._tackItemWidth=e,t.element.find("li.k-timeline-track-item").css("flex","1 0 "+e+"%"),t._repositionEvents()):(t.element.removeClass("k-timeline-mobile"),a!=t.numOfEvents&&(t.numOfEvents=a,e=100/a,s(t.element.find("li.k-timeline-track-item"),"flex","1 0 "+e+"%"),t._tackItemWidth=e,t._repositionEvents())),t._updateArrows()},_repositionEvents:function(){var e,a,r,l,d,o,c=this,p=c._tackItemWidth,u=null===c._forward?c.pane.pages[1]:c._forward?c.pane.pages[2]:c.pane.pages[0],m=this._trackWrap.find("."+x),f=i(m);if(a=1===c.numOfEvents?c.currentEventIndex*p:c._currentIndex*p,u){if(1===c.numOfEvents)return u.setPageCallout("left","50%"),r=a,s(m,"transform","translateX(-"+r+"%)"),c._firstIndexInView=c._currentIndex,c._updateArrows(),t;a>=Math.abs(f)+100?(r=Math.abs(f)+(a-(Math.abs(f)+100)+p),c._end=-r,s(m,"transform","translateX(-"+r+"%)"),c._firstIndexInView=c._currentIndex-c.numOfEvents+1):a<=Math.abs(f)?(r=a,c._end=-r,s(m,"transform","translateX(-"+r+"%)"),c._firstIndexInView=c._currentIndex):(l=m.find("li.k-timeline-track-item").eq(c._currentIndex).find(".k-timeline-circle"),e=n(l,c._trackWrap),u.setPageCallout("left",e/u.element.width()*100+"%"),c._firstIndexInView=Math.round(Math.abs(f)/p)),d=this._trackWrap.find("."+x),o=function(){var e,t,a;1!=c.numOfEvents&&(e=c.pane.pages[1],t=c._trackWrap.find("."+w).eq(c._currentIndex),a=n(t.find(".k-timeline-circle"),c._trackWrap),e.setPageCallout("left",a/e.element.width()*100+"%")),d.off("transitionend"+b,o)},d.on("transitionend"+b,o)}c._updateArrows()},_initHorizontal:function(){var t=this,a=t._trackWrap.find(".k-timeline-circle").first(),i=t.dataSource.view()[0];t.maxEvents=t._trackWrap.find(".k-timeline-track-item").length,t._currentIndex=1,t.pane.initPages(),t.pane.repositionPages(),t.pane.updatePage(t._forward,i,n(a,t._trackWrap)),t._updateArrows(),e(window).on("resize"+b,p(this,"_resizeHandler")),t._trackWrap.on("click",".k-timeline-track-item:not(.k-timeline-flag-wrap)",p(this,"_setCurrentEvent")),t._trackWrap.on("click",".k-timeline-arrow:not(.k-state-disabled)",p(this,"_navigateToView"))},setDataSource:function(e){var a=this,i=a.options;e=u(e)?{data:e}:e,a.dataSource&&a._refresh?a.dataSource.unbind(T,a._refresh):this._refresh=p(a,"refresh"),this.dataSource=o.create(e),this.dataSource._sort===t&&(this.dataSource._sort=[{field:i.dataDateField,dir:"asc"}]),a.dataSource.bind(T,a._refresh),i.autoBind&&this.dataSource.fetch()},refresh:function(){var e=this,t=e.options,a=this.dataSource.view();t.orientation!=h&&(e._trackWrap.empty().remove(),e.element.find(".k-timeline-events-list").remove(),e._horizontal()),e.currentEventIndex=0,e._forward=null,e._eventPage=1,e._currentIndex=0,e._firstIndexInView=0,e.numOfEvents=null,e._end=0,e._initDataFieldMappings(),a.length&&("horizontal"===t.orientation?(e._renderContentHorizontal(a),e._redrawEvents(),e._initHorizontal()):e._renderContentVertical(a)),e.trigger("dataBound",{sender:e})},destroy:function(){var t=this.options;d.fn.destroy.call(this),this.resizeTimeOut&&clearTimeout(this.resizeTimeOut),this.navigateTimeOut&&clearTimeout(this.navigateTimeOut),e(window).off("resize"+b,this._resizeHandler),this.element.off(),t.orientation!=h&&(this.pane.destroy(),this._trackWrap.find("."+x).off(),this._trackWrap.off(),this.currentEventIndex=this.maxEvents=this.numOfEvents=this._currentIndex=this._eventPage=this._eventsList=this._eventsWrap=this.element=this._trackWrap=this.pane=null),r.destroy(this.element),this._dataFieldMappings=this.element=null},options:{autoBind:!0,name:"Timeline",orientation:"vertical",dateFormat:"MMM d, yyyy",showDateLabels:!0,collapsibleEvents:!1,alternatingMode:!1,dataTitleField:"title",dataDateField:"date",dataSubtitleField:"subtitle",dataDescriptionField:"description",dataImagesField:"images",dataActionsField:"actions"},events:["collapse","dataBound","expand","actionClick","change","navigate"]});r.ui.plugin(D)}(window.kendo.jQuery),window.kendo},a(3))}});