angular-gantt
Version:
Gantt chart component for AngularJS
8 lines • 212 kB
JavaScript
/*!
* Project: angular-gantt v2.0.0-rc.1 - Gantt chart component for AngularJS
* Authors: Rémi Alvergnat <toilal.dev@gmail.com> (https://www.pragmasphere.com), Marco Schweighauser
* License: MIT
* Homepage: https://www.angular-gantt.com
* Github: https://github.com/angular-gantt/angular-gantt.git
*/
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("angular-gantt-demo",[],e):"object"==typeof exports?exports["angular-gantt-demo"]=e():t["angular-gantt-demo"]=e()}(this,function(){return webpackJsonp_name_([1],[,,,,,,function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=a(i),r=n(260),s=a(r),l=n(279),d=a(l),u=n(285),c=a(u),f=n(286),g=a(f),h=n(287),v=a(h),m=n(288),p=a(m),y=n(280),w=a(y),k=n(283),b=a(k),M=n(281),C=a(M),$=n(282),_=a($),T=n(284),j=a(T),D=n(289),S=a(D),F=n(290),x=a(F),P=n(291),O=a(P),R=n(292),E=a(R),G=n(293),B=a(G),H=n(294),I=a(H),W=n(295),z=a(W),A=n(296),L=a(A),V=n(297),U=a(V),q=n(298),N=a(q),Y=n(299),X=a(Y),J=n(300),K=a(J),Q=n(301),Z=a(Q),tt=n(302),et=a(tt),nt=n(303),at=a(nt),it=n(304),ot=a(it),rt=n(305),st=a(rt),lt=n(306),dt=a(lt),ut=n(307),ct=a(ut),ft=n(308),gt=a(ft),ht=n(309),vt=a(ht),mt=n(310),pt=a(mt),yt=n(315),wt=a(yt),kt=n(264),bt=a(kt),Mt=n(166),Ct=a(Mt),$t=n(167),_t=a($t),Tt=n(168),jt=a(Tt),Dt=n(176),St=a(Dt),Ft=n(174),xt=a(Ft),Pt=n(268),Ot=a(Pt),Rt=n(270),Et=a(Rt),Gt=n(267),Bt=a(Gt),Ht=n(269),It=a(Ht),Wt=n(175),zt=a(Wt),At=n(271),Lt=a(At),Vt=n(177),Ut=a(Vt),qt=n(172),Nt=a(qt),Yt=n(266),Xt=a(Yt),Jt=n(265),Kt=a(Jt),Qt=n(173),Zt=a(Qt),te=n(36),ee=a(te),ne=n(261),ae=a(ne),ie=n(170),oe=a(ie),re=n(171),se=a(re),le=n(272),de=a(le),ue=n(178),ce=a(ue),fe=n(169),ge=a(fe),he=n(275),ve=a(he),me=n(311),pe=a(me),ye=n(319),we=a(ye),ke=n(312),be=a(ke),Me=n(314),Ce=a(Me),$e=n(276),_e=a($e),Te=n(273),je=a(Te),De=n(274),Se=a(De),Fe=n(316),xe=a(Fe),Pe=n(263),Oe=a(Pe),Re=n(262),Ee=a(Re),Ge=n(313),Be=a(Ge),He=n(317),Ie=a(He),We=n(318),ze=a(We),Ae=n(277),Le=a(Ae),Ve=n(278),Ue=a(Ve);n(395),n(242);o.default.module("gantt",[]).directive("gantt",s.default).directive("ganttResizer",d.default).directive("ganttContainerWidthListener",g.default).directive("ganttContainerHeightListener",c.default).directive("ganttElementWidthListener",p.default).directive("ganttElementHeightListener",v.default).directive("ganttHorizontalScrollReceiver",w.default).directive("ganttScrollable",b.default).directive("ganttScrollManager",C.default).directive("ganttScrollSender",_.default).directive("ganttVerticalScrollReceiver",j.default).directive("ganttBindCompileHtml",wt.default).directive("ganttBody",S.default).directive("ganttBodyBackground",x.default).directive("ganttBodyColumns",O.default).directive("ganttBodyForeground",E.default).directive("ganttBodyRows",B.default).directive("ganttColumn",I.default).directive("ganttColumnHeader",z.default).directive("ganttHeader",L.default).directive("ganttHeaderColumns",U.default).directive("ganttRow",N.default).directive("ganttRowBackground",X.default).directive("ganttRowLabel",K.default).directive("ganttScrollableHeader",Z.default).directive("ganttSide",et.default).directive("ganttSideBackground",at.default).directive("ganttSideContent",ot.default).directive("ganttTask",st.default).directive("ganttTaskBackground",dt.default).directive("ganttTaskContent",ct.default).directive("ganttTaskForeground",gt.default).directive("ganttTimeFrame",vt.default).directive("ganttTimespan",pt.default).factory("GanttDirectiveBuilder",be.default).factory("Gantt",bt.default).factory("GanttApi",Ct.default).factory("GanttOptions",_t.default).factory("GanttCalendar",jt.default).factory("GanttScroll",St.default).factory("GanttBody",xt.default).factory("GanttBodyColumns",Ot.default).factory("GanttBodyRows",Et.default).factory("GanttBodyBackground",Bt.default).factory("GanttBodyForeground",It.default).factory("GanttHeader",zt.default).factory("GanttHeaderColumns",Lt.default).factory("GanttSide",Ut.default).factory("GanttObjectModel",Nt.default).factory("GanttTask",Xt.default).factory("GanttRow",Kt.default).factory("GanttRowsManager",Zt.default).factory("GanttColumn",ee.default).factory("GanttColumnHeader",oe.default).factory("GanttColumnBuilder",ae.default).factory("GanttColumnsManager",se.default).factory("GanttTimespan",de.default).factory("GanttTimespansManager",ce.default).factory("GanttCurrentDateManager",ge.default).factory("GanttHierarchy",ve.default).factory("ganttDebounce",pe.default).factory("GanttSmartEvent",we.default).service("ganttEnableNgAnimate",Ce.default).service("ganttUtils",_e.default).service("ganttArrays",je.default).service("ganttBinarySearch",Se.default).service("ganttLayout",xe.default).service("GanttHeadersGenerator",Oe.default).service("GanttColumnGenerator",Ee.default).service("ganttDom",Be.default).service("ganttMouseButton",Ie.default).service("ganttMouseOffset",ze.default).filter("ganttColumnLimit",Le.default).filter("ganttTaskLimit",Ue.default),e.default="gantt"},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttColumn=void 0;var i=n(5),o=a(i),r=n(2),s=a(r),l=n(3),d=a(l);e.default=function(){"ngInject";return f};var u=n(0),c=a(u),f=e.GanttColumn=function(){function t(e,n,a,i,o,r,l){(0,s.default)(this,t),this.timeFrames=[],this.visibleTimeFrames=[],this.daysTimeFrames={},this.currentDate=!1,this.cropped=!1,this.date=e,this.endDate=n,this.left=a,this.width=i,this.calendar=o,this.duration=this.endDate.diff(this.date,"milliseconds"),this.timeFramesWorkingMode=r,this.timeFramesNonWorkingMode=l,this.timeFrames=[],this.visibleTimeFrames=[],this.daysTimeFrames={},this.originalSize={left:this.left,width:this.width},this.updateTimeFrames()}return(0,d.default)(t,[{key:"getDateKey",value:function(t){return t.year()+"-"+t.month()+"-"+t.date()}},{key:"updateView",value:function(){this.$element&&(this.currentDate?this.$element.addClass("gantt-foreground-col-current-date"):this.$element.removeClass("gantt-foreground-col-current-date"),this.$element.css({left:this.left+"px",width:this.width+"px"}),this.timeFrames.forEach(function(t){return t.updateView()}))}},{key:"updateTimeFrames",value:function(){if(void 0!==this.calendar&&("hidden"!==this.timeFramesNonWorkingMode||"hidden"!==this.timeFramesWorkingMode)){for(var t=this.date,e=(0,c.default)(t).startOf("day"),n=e.add(1,"day"),a=void 0;t<this.endDate;){var i=this.calendar.getTimeFrames(t),r=c.default.min(n,this.endDate);i=this.calendar.solve(i,t,r);var s=[];for(a=0;a<i.length;a++){var l=i[a],d=l.start;void 0===d&&(d=t);var u=l.end;void 0===u&&(u=r),d<this.date&&(d=this.date),u>this.endDate&&(u=this.endDate),l=l.clone(),l.start=(0,c.default)(d),l.end=(0,c.default)(u),s.push(l)}this.timeFrames=this.timeFrames.concat(s);var f=this.getDateKey(t);this.daysTimeFrames[f]=s,t=r,e=(0,c.default)(t).startOf("day"),n=e.add(1,"day")}for(a=0;a<this.timeFrames.length;a++){var g=this.timeFrames[a],h=g.start.diff(this.date,"milliseconds"),v=h/this.duration*this.width,m=g.end.diff(g.start,"milliseconds"),p=m/this.duration*this.width,y=!1;g.working&&"visible"!==this.timeFramesWorkingMode?y=!0:g.working||"visible"===this.timeFramesNonWorkingMode||(y=!0),y||this.visibleTimeFrames.push(g),g.hidden=y,g.left=v,g.width=p,g.originalSize={left:g.left,width:g.width}}if("cropped"===this.timeFramesNonWorkingMode||"cropped"===this.timeFramesWorkingMode){var w=0,k=!0,b=!1,M=void 0;try{for(var C,$=(0,o.default)(this.timeFrames);!(k=(C=$.next()).done);k=!0){var _=C.value;(!_.working&&"cropped"!==this.timeFramesNonWorkingMode||_.working&&"cropped"!==this.timeFramesWorkingMode)&&(w+=_.width)}}catch(t){b=!0,M=t}finally{try{!k&&$.return&&$.return()}finally{if(b)throw M}}if(w!==this.width){var T=this.width/w,j=0,D=0,S=!0,F=!0,x=!1,P=void 0;try{for(var O,R=(0,o.default)(this.timeFrames);!(F=(O=R.next()).done);F=!0){var E=O.value;!E.working&&"cropped"!==this.timeFramesNonWorkingMode||E.working&&"cropped"!==this.timeFramesWorkingMode?(E.left=(E.left-j)*T,E.width=E.width*T,E.originalSize.left=(E.originalSize.left-D)*T,E.originalSize.width=E.originalSize.width*T,E.cropped=!1,S=!1):(j+=E.width,D+=E.originalSize.width,E.left=void 0,E.width=0,E.originalSize={left:void 0,width:0},E.cropped=!0)}}catch(t){x=!0,P=t}finally{try{!F&&R.return&&R.return()}finally{if(x)throw P}}this.cropped=S}else this.cropped=!1}}}},{key:"clone",value:function(){return new t((0,c.default)(this.date),(0,c.default)(this.endDate),this.left,this.width,this.calendar)}},{key:"containsDate",value:function(t){return t>this.date&&t<=this.endDate}},{key:"equals",value:function(t){return this.date===t.date}},{key:"roundTo",value:function(t,e,n,a){"day"===e&&(e="date"),n=n||1;var i=t.get(e);switch(a){case"up":i=Math.ceil(i/n);break;case"down":i=Math.floor(i/n);break;default:i=Math.round(i/n)}var o=["millisecond","second","minute","hour","date","month","year"];t.set(e,i*n);for(var r=o.indexOf(e),s=0;s<r;s++)t.set(o[s],0);return t}},{key:"getMagnetDate",value:function(t,e,n,a){if(e>0&&void 0!==n){var i=t;if(t=(0,c.default)(t),"column"===n){t=this.getPositionByDate(t)<this.width/2?(0,c.default)(this.date):(0,c.default)(this.endDate)}else t=this.roundTo(t,n,e),t<this.date?t=(0,c.default)(this.date):t>this.endDate&&(t=(0,c.default)(this.endDate));if(a)for(var o=Math.abs(i.diff(t,"milliseconds")),r=void 0,s=0;s<this.timeFrames.length;s++){var l=this.timeFrames[s];if(l.magnet){var d=this.timeFrames[s-1],u=this.timeFrames[s+1],f=void 0;void 0!==d&&d.working===l.working||(f=Math.abs(i.diff(l.start,"milliseconds")))<o&&(void 0===r||f<r)&&(r=f,t=l.start),void 0!==u&&u.working===l.working||(f=Math.abs(i.diff(l.end,"milliseconds")))<o&&(void 0===r||f<r)&&(r=f,t=l.end)}}}return t}},{key:"getDateByPositionUsingTimeFrames",value:function(t){var e=!0,n=!1,a=void 0;try{for(var i,r=(0,o.default)(this.timeFrames);!(e=(i=r.next()).done);e=!0){var s=i.value;if(!s.cropped&&t>=s.left&&t<=s.left+s.width){var l=s.getDuration()/s.width*(t-s.left);return(0,c.default)(s.start).add(l,"milliseconds")}}}catch(t){n=!0,a=t}finally{try{!e&&r.return&&r.return()}finally{if(n)throw a}}}},{key:"getDateByPosition",value:function(t,e,n,a){var i=void 0;if(t<0&&(t=0),t>this.width&&(t=this.width),"cropped"!==this.timeFramesNonWorkingMode&&"cropped"!==this.timeFramesWorkingMode||(i=this.getDateByPositionUsingTimeFrames(t)),void 0===i){var o=this.duration/this.width*t;i=(0,c.default)(this.date).add(o,"milliseconds")}return i=this.getMagnetDate(i,e,n,a)}},{key:"getDayTimeFrame",value:function(t){var e=this.daysTimeFrames[this.getDateKey(t)];return void 0===e?[]:e}},{key:"getPositionByDate",value:function(t){var e=t;if("cropped"===this.timeFramesNonWorkingMode||"cropped"===this.timeFramesWorkingMode)for(var n=this.getDayTimeFrame(e),a=0;a<n.length;a++){var i=n[a];if(e>=i.start&&e<=i.end){if(!i.cropped){var o=e.diff(i.start,"milliseconds"),r=o/i.getDuration()*i.width;return this.left+i.left+r}e=n.length>a+1?n[a+1].start:i.end}}var s=e.diff(this.date,"milliseconds"),l=s/this.duration*this.width;return l<0&&(l=0),l>this.width&&(l=this.width),this.left+l}}]),t}()},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttApi=void 0;var i=n(5),o=a(i),r=n(2),s=a(r),l=n(3),d=a(l);e.default=["$q","$rootScope","ganttUtils",function(t,e,n){"ngInject";return u.$q=t,u.$rootScope=e,u.ganttUtils=n,u}];var u=e.GanttApi=function(){function t(e){(0,s.default)(this,t),this.gantt=e,this.listeners=[],this.apiId=t.ganttUtils.newId()}return(0,d.default)(t,[{key:"registerEventWithAngular",value:function(e,n,a,i){return t.$rootScope.$on(e,function(){var t=Array.prototype.slice.call(arguments);t.splice(0,1),n.apply(i||a.api,t)})}},{key:"suppressEvents",value:function(t,e){var n=this,a=Array.isArray(t)?t:[t],i=[];a.forEach(function(t){i=n.listeners.filter(function(e){return t===e.handler})}),i.forEach(function(t){return t.dereg()}),e(),i.forEach(function(t){t.dereg=n.registerEventWithAngular(t.eventId,t.handler,n.gantt,t._this)})}},{key:"registerEvent",value:function(e,n){var a=this;this[e]||(this[e]={});var i=this[e];i.on||(i.on={},i.raise={});var o="event:gantt:"+this.apiId+":"+e+":"+n;i.raise[n]=function(){t.$rootScope.$emit.apply(t.$rootScope,[o].concat(Array.prototype.slice.call(arguments)))},i.on[n]=function(t,e,n){var i=a.registerEventWithAngular(o,e,a.gantt,n),r={handler:e,dereg:i,eventId:o,scope:t,_this:n};a.listeners.push(r);var s=function(){r.dereg();var t=a.listeners.indexOf(r);a.listeners.splice(t,1)};return t.$on("$destroy",function(){s()}),s}}},{key:"registerEventsFromObject",value:function(t){var e=this,n=[];for(var a in t){var i=t[a],r={name:a,events:[]};for(var s in i)r.events.push(s);n.push(r)}var l=!0,d=!1,u=void 0;try{for(var c,f=(0,o.default)(n);!(l=(c=f.next()).done);l=!0){var g=c.value;!function(t){t.events.forEach(function(n){e.registerEvent(t.name,n)})}(g)}}catch(t){d=!0,u=t}finally{try{!l&&f.return&&f.return()}finally{if(d)throw u}}}},{key:"registerMethod",value:function(e,n,a,i){this[e]||(this[e]={}),this[e][n]=t.ganttUtils.createBoundedWrapper(i||this.gantt,a)}},{key:"registerMethodsFromObject",value:function(t,e){var n=[];for(var a in t){var i=t[a],r={name:a,methods:[]};for(var s in i){var l=i[s];r.methods.push({name:s,fn:l})}n.push(r)}var d=!0,u=!1,c=void 0;try{for(var f,g=(0,o.default)(n);!(d=(f=g.next()).done);d=!0){var h=f.value,v=!0,m=!1,p=void 0;try{for(var y,w=(0,o.default)(h.methods);!(v=(y=w.next()).done);v=!0){var k=y.value;this.registerMethod(h.name,k.name,k.fn,e)}}catch(t){m=!0,p=t}finally{try{!v&&w.return&&w.return()}finally{if(m)throw p}}}}catch(t){u=!0,c=t}finally{try{!d&&g.return&&g.return()}finally{if(u)throw c}}}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttOptions=void 0;var i=n(2),o=a(i),r=n(3),s=a(r);e.default=function(){"ngInject";return l};var l=e.GanttOptions=function(){function t(e,n){(0,o.default)(this,t),this.defaultValues=n,this.values=e}return(0,s.default)(t,[{key:"defaultValue",value:function(t){var e=this.defaultValues[t];return"function"==typeof e&&(e=e()),e}},{key:"sanitize",value:function(t,e){if(!e){var n=this.defaultValue(t);if(void 0!==n)return void 0!==e&&"boolean"==typeof n?e:n}return e}},{key:"value",value:function(t){return this.sanitize(t,this.values[t])}},{key:"set",value:function(t,e){this.values[t]=e}},{key:"initialize",value:function(){for(var t in this.values)this.values.hasOwnProperty(t)&&(this.values[t]=this.value(t));return this.values}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttCalendar=e.DateFrame=e.TimeFrameMapping=e.TimeFrame=void 0;var i=n(5),o=a(i),r=n(2),s=a(r),l=n(3),d=a(l);e.default=["$filter",function(t){"ngInject";return v.$filter=t,v}];var u=n(0),c=a(u),f=e.TimeFrame=function(){function t(e){(0,s.default)(this,t),void 0===e&&(e={}),this.start=e.start,this.end=e.end,this.working=e.working,this.magnet=void 0===e.magnet||e.magnet,this.default=e.default,this.color=e.color,this.classes=e.classes,this.internal=e.internal}return(0,d.default)(t,[{key:"updateView",value:function(){if(this.$element){var t={};void 0!==this.left?t.left=this.left+"px":t.left="",void 0!==this.width?t.width=this.width+"px":t.width="",void 0!==this.color?t["background-color"]=this.color:t["background-color"]="",this.$element.css(t);var e=["gantt-timeframe"+(this.working?"":"-non")+"-working"];this.classes&&(e=e.concat(this.classes));for(var n=0,a=e.length;n<a;n++)this.$element.toggleClass(e[n],!0)}}},{key:"getDuration",value:function(){if(void 0!==this.end&&void 0!==this.start)return this.end.diff(this.start,"milliseconds")}},{key:"clone",value:function(){return new t(this)}}]),t}(),g=e.TimeFrameMapping=function(){function t(e){(0,s.default)(this,t),this.func=e}return(0,d.default)(t,[{key:"getTimeFrames",value:function(t){var e=this.func(t);return e instanceof Array||(e=[e]),e}},{key:"clone",value:function(){return new t(this.func)}}]),t}(),h=e.DateFrame=function(){function t(e){(0,s.default)(this,t),this.evaluator=e.evaluator,e.date?(this.start=(0,c.default)(e.date).startOf("day"),this.end=(0,c.default)(e.date).endOf("day")):(this.start=e.start,this.end=e.end),e.targets instanceof Array?this.targets=e.targets:this.targets=[e.targets],this.default=e.default}return(0,d.default)(t,[{key:"dateMatch",value:function(t){return this.evaluator?this.evaluator(t):!(!this.start||!this.end)&&(t>=this.start&&t<=this.end)}},{key:"clone",value:function(){return new t(this)}}]),t}(),v=e.GanttCalendar=function(){function t(){(0,s.default)(this,t),this.timeFrames={},this.timeFrameMappings={},this.dateFrames={}}return(0,d.default)(t,[{key:"clear",value:function(){this.timeFrames={},this.timeFrameMappings={},this.dateFrames={}}},{key:"registerTimeFrames",value:function(t){for(var e in t){var n=t[e];this.timeFrames[e]=new f(n)}}},{key:"removeTimeFrames",value:function(t){for(var e in t)delete this.timeFrames[e]}},{key:"clearTimeFrames",value:function(){this.timeFrames={}}},{key:"registerTimeFrameMappings",value:function(t){for(var e in t){var n=t[e];this.timeFrameMappings[e]=new g(n)}}},{key:"removeTimeFrameMappings",value:function(t){for(var e in t)delete this.timeFrameMappings[e]}},{key:"clearTimeFrameMappings",value:function(){this.timeFrameMappings={}}},{key:"registerDateFrames",value:function(t){for(var e in t){var n=t[e];this.dateFrames[e]=new h(n)}}},{key:"removeDateFrames",value:function(t){for(var e in t)delete this.dateFrames[e]}},{key:"clearDateFrames",value:function(){this.dateFrames={}}},{key:"filterDateFrames",value:function(t,e){var n=[];for(var a in t){var i=t[a];i.dateMatch(e)&&n.push(i)}if(0===n.length)for(var o in t){var r=t[o];r.default&&n.push(r)}return n}},{key:"getTimeFrames",value:function(t){var e=[],n=this.filterDateFrames(this.dateFrames,t),a=!0,i=!1,r=void 0;try{for(var s,l=(0,o.default)(n);!(a=(s=l.next()).done);a=!0){var d=s.value;if(void 0!==d){var u=d.targets,f=!0,g=!1,h=void 0;try{for(var v,m=(0,o.default)(u);!(f=(v=m.next()).done);f=!0){var p=v.value,y=this.timeFrameMappings[p];if(void 0!==y){var w=y.getTimeFrames(t),k=!0,b=!1,M=void 0;try{for(var C,$=(0,o.default)(w);!(k=(C=$.next()).done);k=!0){var _=C.value,T=this.timeFrames[_];e.push(T)}}catch(t){b=!0,M=t}finally{try{!k&&$.return&&$.return()}finally{if(b)throw M}}}else{var j=this.timeFrames[p];void 0!==j&&e.push(j)}}}catch(t){g=!0,h=t}finally{try{!f&&m.return&&m.return()}finally{if(g)throw h}}}}}catch(t){i=!0,r=t}finally{try{!a&&l.return&&l.return()}finally{if(i)throw r}}var D=t.year(),S=t.month(),F=t.date(),x=[];if(0===e.length)for(var P in this.timeFrames){var O=this.timeFrames[P];O.default&&e.push(O)}for(var R in e){var E=e[R],G=E.clone();void 0!==G.start&&(G.start.year(D),G.start.month(S),G.start.date(F)),void 0!==G.end&&(G.end.year(D),G.end.month(S),G.end.date(F),(0,c.default)(G.end).startOf("day")===G.end&&G.end.add(1,"day")),x.push(G)}return x}},{key:"solve",value:function(e,n,a){var i=void 0,r=void 0,s=void 0,l=void 0,d=!0,u=!1,g=void 0;try{for(var h,v=(0,o.default)(e);!(d=(h=v.next()).done);d=!0){var m=h.value;(void 0===s||s>m.start)&&(s=m.start),(void 0===l||l<m.end)&&(l=m.end),void 0===i&&m.color&&(i=m.color),void 0!==m.classes&&(void 0===r&&(r=[]),r=r.concat(m.classes))}}catch(t){u=!0,g=t}finally{try{!d&&v.return&&v.return()}finally{if(u)throw g}}void 0===n&&(n=s),void 0===a&&(a=l);var p=[new f({start:n,end:a,internal:!0})];e=t.$filter("filter")(e,function(t){return(void 0===t.start||t.start<a)&&(void 0===t.end||t.end>n)});var y=!0,w=!1,k=void 0;try{for(var b,M=(0,o.default)(e);!(y=(b=M.next()).done);y=!0){var C=b.value;C.start||(C.start=n),C.end||(C.end=a)}}catch(t){w=!0,k=t}finally{try{!y&&M.return&&M.return()}finally{if(w)throw k}}var $=t.$filter("orderBy")(e,function(t){return-t.getDuration()}),_=void 0,T=!0,j=!1,D=void 0;try{for(var S,F=(0,o.default)($);!(T=(S=F.next()).done);T=!0){var x=S.value,P=p.slice();_=0;var O=!1,R=!1,E=!0,G=!1,B=void 0;try{for(var H,I=(0,o.default)(p);!(E=(H=I.next()).done);E=!0){var W=H.value;if(!R){if(x.end||x.start)if(x.end>W.start&&x.start<W.end){var z=W.clone();W.end=(0,c.default)(x.start),z.start=(0,c.default)(x.end),P.splice(_+1,0,x.clone(),z),R=!0,O=!1}else!O&&x.start<W.end?(W.end=(0,c.default)(x.start),P.splice(_+1,0,x.clone()),O=!0):O&&x.end>W.start&&(W.start=(0,c.default)(x.end),O=!1,R=!0);else P.splice(_,0,x),R=!0,O=!1;_++}}}catch(t){G=!0,B=t}finally{try{!E&&I.return&&I.return()}finally{if(G)throw B}}p=P}}catch(t){j=!0,D=t}finally{try{!T&&F.return&&F.return()}finally{if(j)throw D}}return p=t.$filter("filter")(p,function(t){return!t.internal&&(void 0===t.start||t.start<a)&&(void 0===t.end||t.end>n)})}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttCurrentDateManager=void 0;var i=n(2),o=a(i),r=n(3),s=a(r);e.default=function(){"ngInject";return u};var l=n(0),d=a(l),u=e.GanttCurrentDateManager=function(){function t(e){var n=this;(0,o.default)(this,t),this.gantt=e,this.date=void 0,this.position=void 0,this.currentDateColumn=void 0,this.gantt.$scope.simplifyMoment=function(t){return d.default.isMoment(t)?t.unix():t},this.gantt.$scope.$watchGroup(["currentDate","simplifyMoment(currentDateValue)"],function(t,e){t!==e&&n.setCurrentDate(n.gantt.options.value("currentDateValue"))})}return(0,s.default)(t,[{key:"setCurrentDate",value:function(t){this.date=t;var e=this.currentDateColumn,n=void 0;void 0!==this.date&&"column"===this.gantt.options.value("currentDate")&&(n=this.gantt.columnsManager.getColumnByDate(this.date,!0)),this.currentDateColumn=n,e!==n&&(void 0!==e&&(e.currentDate=!1,e.updateView()),void 0!==n&&(n.currentDate=!0,n.updateView())),this.position=this.gantt.getPositionByDate(this.date,!0)}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttColumnHeader=void 0;var i=n(197),o=a(i),r=n(2),s=a(r),l=n(202),d=a(l),u=n(201),c=a(u);e.default=function(){"ngInject";return g};var f=n(36),g=e.GanttColumnHeader=function(t){function e(t,n,a,i,r,l,u){(0,s.default)(this,e);var c=(0,d.default)(this,(e.__proto__||(0,o.default)(e)).call(this,t,n,i,r));return c.name=u,c.unit=a,c.label="function"==typeof l?l(c):t.format(l),c}return(0,c.default)(e,t),e}(f.GanttColumn)},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttColumnsManager=void 0;var i=n(5),o=a(i),r=n(2),s=a(r),l=n(3),d=a(l);e.default=["GanttColumnGenerator","GanttColumnBuilder","GanttHeadersGenerator","$filter","ganttLayout","ganttBinarySearch",function(t,e,n,a,i,o){"ngInject";return f.GanttColumnGenerator=t,f.GanttHeadersGenerator=n,f.ganttBinarySearch=o,f.GanttColumnBuilder=e,f.ganttLayout=i,f.$filter=a,f}];var u=n(0),c=a(u),f=e.GanttColumnsManager=function(){function t(e){var n=this;(0,s.default)(this,t),this.defaultHeadersFormats={year:"YYYY",quarter:"[Q]Q YYYY",month:"MMMM YYYY",week:"w",day:"D",hour:"H",minute:"H:mm",second:"H:mm:ss",millisecond:"H:mm:ss:SSS"},this.defaultDayHeadersFormats={day:"LL",hour:"H",minute:"H:mm",second:"H:mm:ss",millisecond:"H:mm:ss:SSS"},this.defaultYearHeadersFormats={year:"YYYY",quarter:"[Q]Q",month:"MMMM"},this.gantt=e,this.from=void 0,this.to=void 0,this.columns=[],this.visibleColumns=[],this.previousColumns=[],this.nextColumns=[],this.headers=[],this.visibleHeaders=[],this.scrollAnchor=void 0,this.columnBuilder=new t.GanttColumnBuilder(this),this.gantt.$scope.$watchGroup(["viewScale","columnWidth","timeFramesWorkingMode","timeFramesNonWorkingMode","fromDate","toDate","autoExpand","taskOutOfRange"],function(t,e){t!==e&&n.gantt.rendered&&n.generateColumns()}),this.gantt.$scope.$watchCollection("headers",function(t,e){t!==e&&n.gantt.rendered&&n.generateColumns()}),this.gantt.$scope.$watchCollection("headersFormats",function(t,e){t!==e&&n.gantt.rendered&&n.generateColumns()}),this.gantt.$scope.$watchGroup(["ganttElementWidth","showSide","sideWidth","maxHeight","daily"],function(t,e){t!==e&&n.gantt.rendered&&n.updateColumnsMeta()}),this.gantt.api.data.on.load(this.gantt.$scope,function(){(void 0===n.from||void 0===n.to||n.from>n.gantt.rowsManager.getDefaultFrom()||n.to<n.gantt.rowsManager.getDefaultTo())&&n.gantt.rendered&&n.generateColumns(),n.gantt.rowsManager.sortRows()}),this.gantt.api.data.on.remove(this.gantt.$scope,function(){n.gantt.rowsManager.sortRows()}),this.gantt.api.registerMethod("columns","clear",this.clearColumns,this),this.gantt.api.registerMethod("columns","generate",this.generateColumns,this),this.gantt.api.registerMethod("columns","refresh",this.updateColumnsMeta,this),this.gantt.api.registerMethod("columns","getColumnsWidth",this.getColumnsWidth,this),this.gantt.api.registerMethod("columns","getColumnsWidthToFit",this.getColumnsWidthToFit,this),this.gantt.api.registerMethod("columns","getDateRange",this.getDateRange,this),this.gantt.api.registerEvent("columns","clear"),this.gantt.api.registerEvent("columns","generate"),this.gantt.api.registerEvent("columns","refresh")}return(0,d.default)(t,[{key:"setScrollAnchor",value:function(){if(this.gantt.scroll.$element&&this.columns.length>0){var t=this.gantt.scroll.$element[0],e=t.scrollLeft+t.offsetWidth/2;this.scrollAnchor=this.gantt.getDateByPosition(e)}}},{key:"scrollToScrollAnchor",value:function(){var t=this;this.columns.length>0&&void 0!==this.scrollAnchor&&this.gantt.$scope.$$postDigest(function(){t.gantt.api.scroll.toDate(t.scrollAnchor)})}},{key:"clearColumns",value:function(){this.setScrollAnchor(),this.from=void 0,this.to=void 0,this.columns=[],this.visibleColumns=[],this.previousColumns=[],this.nextColumns=[],this.headers=[],this.visibleHeaders=[],this.gantt.api.columns.raise.clear()}},{key:"generateColumns",value:function(e,n){return e||(e=this.gantt.options.value("fromDate")),n||(n=this.gantt.options.value("toDate")),!((!e||c.default.isMoment(e)&&!e.isValid())&&!(e=this.gantt.rowsManager.getDefaultFrom()))&&(!((!n||c.default.isMoment(n)&&!n.isValid())&&!(n=this.gantt.rowsManager.getDefaultTo()))&&(void 0===e||c.default.isMoment(e)||(e=(0,c.default)(e)),void 0===n||c.default.isMoment(n)||(n=(0,c.default)(n)),"expand"===this.gantt.options.value("taskOutOfRange")&&(e=this.gantt.rowsManager.getExpandedFrom(e),n=this.gantt.rowsManager.getExpandedTo(n)),this.setScrollAnchor(),this.from=e,this.to=n,this.previousColumns=[],this.nextColumns=[],this.columns=t.GanttColumnGenerator.generate(this.columnBuilder,this.from,this.to,this.gantt.options.value("viewScale"),this.getColumnsWidth()),this.headers=t.GanttHeadersGenerator.generate(this),this.updateColumnsMeta(),this.scrollToScrollAnchor(),void this.gantt.api.columns.raise.generate(this.columns,this.headers)))}},{key:"updateColumnsMeta",value:function(){this.gantt.isRefreshingColumns=!0;var t=this.getLastColumn();this.gantt.originalWidth=void 0!==t?t.originalSize.left+t.originalSize.width:0;var e=this.updateColumnsWidths(this.columns,this.headers,this.previousColumns,this.nextColumns);this.gantt.width=void 0!==t?t.left+t.width:0;var n=this.gantt.options.value("showSide"),a=this.gantt.side.isShown(),i=n!==a;i&&!n&&this.gantt.side.show(!1),this.gantt.rowsManager.updateTasksPosAndSize(),this.gantt.timespansManager.updateTimespansPosAndSize(),this.updateVisibleColumns(e),this.gantt.rowsManager.updateVisibleObjects();var o=this.gantt.options.value("currentDateValue");this.gantt.currentDateManager.setCurrentDate(o),i&&n&&this.gantt.side.show(!0),this.gantt.isRefreshingColumns=!1,this.gantt.api.columns.raise.refresh(this.columns,this.headers)}},{key:"getLastColumn",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.columns;return t&&(e=this.nextColumns),e&&e.length>0?e[e.length-1]:void 0}},{key:"getFirstColumn",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this.columns;return t&&(e=this.previousColumns),e&&e.length>0?e[0]:void 0}},{key:"getColumnByDate",value:function(e,n){n||this.expandExtendedColumnsForDate(e);var a=this.previousColumns.concat(this.columns,this.nextColumns),i=t.ganttBinarySearch.get(a,e,function(t){return t.date},!0);return void 0===i[0]?i[1]:i[0]}},{key:"getColumnByPosition",value:function(e,n){n||this.expandExtendedColumnsForPosition(e);var a=this.previousColumns.concat(this.columns,this.nextColumns),i=t.ganttBinarySearch.get(a,e,function(t){return t.left},!0);return void 0===i[0]?i[1]:i[0]}},{key:"updateColumnsWidths",value:function(e,n,a,i){var r=this.gantt.options.value("columnWidth"),s=this.gantt.options.value("expandToFit"),l=this.gantt.options.value("shrinkToFit");if(void 0===r||s||l){var d=this.gantt.getBodyAvailableWidth(),u=this.gantt.columnsManager.getLastColumn(!1);if(void 0!==u){var c=u.originalSize.left+u.originalSize.width;if(s&&c<d||l&&c>d||void 0===r){var f=d/c;t.ganttLayout.setColumnsWidthFactor(e,f);var g=!0,h=!1,v=void 0;try{for(var m,p=(0,o.default)(n);!(g=(m=p.next()).done);g=!0){var y=m.value;t.ganttLayout.setColumnsWidthFactor(y,f)}}catch(t){h=!0,v=t}finally{try{!g&&p.return&&p.return()}finally{if(h)throw v}}return a.splice(0,this.previousColumns.length),i.splice(0,this.nextColumns.length),!0}}}return!1}},{key:"getColumnsWidth",value:function(){var t=this.gantt.options.value("columnWidth");return void 0===t&&(t=!this.gantt.width||this.gantt.width<=0?20:this.gantt.width/this.columns.length),t}},{key:"getColumnsWidthToFit",value:function(){return this.gantt.getBodyAvailableWidth()/this.columns.length}},{key:"expandExtendedColumnsForPosition",value:function(e){var n=void 0;if(e<0){var a=this.getFirstColumn(),i=a.date,o=this.getFirstColumn(!0);return(!o||o.left>e)&&(n=this.gantt.options.value("viewScale"),this.previousColumns=t.GanttColumnGenerator.generate(this.columnBuilder,i,void 0,n,this.getColumnsWidth(),-e,0,!0)),!0}if(e>this.gantt.width){var r=this.getLastColumn(),s=r.getDateByPosition(r.width),l=this.getLastColumn(!0);return(!l||l.left+l.width<e)&&(n=this.gantt.options.value("viewScale"),this.nextColumns=t.GanttColumnGenerator.generate(this.columnBuilder,s,void 0,n,this.getColumnsWidth(),e-this.gantt.width,this.gantt.width,!1)),!0}return!1}},{key:"expandExtendedColumnsForDate",value:function(e){var n=this.getFirstColumn(),a=void 0;n&&(a=n.date);var i=this.getLastColumn(),o=void 0;i&&(o=i.endDate);var r=void 0;if(a&&e<a){var s=this.getFirstColumn(!0);return(!s||s.date>e)&&(r=this.gantt.options.value("viewScale"),this.previousColumns=t.GanttColumnGenerator.generate(this.columnBuilder,a,e,r,this.getColumnsWidth(),void 0,0,!0)),!0}if(o&&e>=o){var l=this.getLastColumn(!0);return(!l||l.date<o)&&(r=this.gantt.options.value("viewScale"),this.nextColumns=t.GanttColumnGenerator.generate(this.columnBuilder,o,e,r,this.getColumnsWidth(),void 0,this.gantt.width,!1)),!0}return!1}},{key:"getActiveHeadersCount",value:function(){return this.headers.length}},{key:"updateVisibleColumns",value:function(e){var n=this.gantt.options.value("columnLimitThreshold"),a=void 0;if(void 0===n||n>0&&this.columns.length>=n)for(this.visibleColumns=t.$filter("ganttColumnLimit")(this.columns,this.gantt),this.visibleHeaders=[],a=0;a<this.headers.length;a++)this.visibleHeaders.push.apply(this.visibleHeaders,t.$filter("ganttColumnLimit")(this.headers[a],this.gantt));else this.visibleColumns=this.columns,this.visibleHeaders=this.headers;if(e){for(a=0;a<this.visibleColumns.length;a++)this.visibleColumns[a].updateView();for(a=0;a<this.visibleHeaders.length;a++){var i=this.visibleHeaders[a],r=!0,s=!1,l=void 0;try{for(var d,u=(0,o.default)(i);!(r=(d=u.next()).done);r=!0){d.value.updateView()}}catch(t){s=!0,l=t}finally{try{!r&&u.return&&u.return()}finally{if(s)throw l}}}}var c=this.gantt.options.value("currentDateValue");this.gantt.currentDateManager.setCurrentDate(c)}},{key:"getHeaderFormat",value:function(t){var e=void 0,n=this.gantt.options.value("headersFormats");if(void 0!==n&&(e=n[t]),void 0===e){var a=this.gantt.options.value("viewScale");a=a.trim(),"s"===a.charAt(a.length-1)&&(a=a.substring(0,a.length-1));var i=void 0,o=void 0;a&&(o=a.split(" ")),i=o&&o.length>1?o[o.length-1]:a,["millisecond","second","minute","hour"].indexOf(i)>-1?e=this.defaultDayHeadersFormats[t]:["month","quarter","year"].indexOf(i)>-1&&(e=this.defaultYearHeadersFormats[t]),void 0===e&&(e=this.defaultHeadersFormats[t])}return e}},{key:"getHeaderScale",value:function(t){var e=void 0,n=this.gantt.options.value("headersScales");return void 0!==n&&(e=n[t]),void 0===e&&(e=t),-1===["millisecond","second","minute","hour","day","week","month","quarter","year"].indexOf(e)&&(e="day"),e}},{key:"getDateRange",value:function(t){var e=void 0,n=void 0;return t?this.visibleColumns&&this.visibleColumns.length>0&&(e=this.visibleColumns[0],n=this.visibleColumns[this.visibleColumns.length-1]):(e=this.getFirstColumn(),n=this.getLastColumn()),e&&n?[e.date,n.endDate]:void 0}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttObjectModel=void 0;var i=n(2),o=a(i),r=n(3),s=a(r);e.default=["ganttUtils",function(t){"ngInject";return u.ganttUtils=t,u}];var l=n(0),d=a(l),u=e.GanttObjectModel=function(){function t(e){(0,o.default)(this,t),this.api=e,this.api.registerEvent("tasks","clean"),this.api.registerEvent("rows","clean"),this.api.registerEvent("timespans","clean")}return(0,s.default)(t,[{key:"cleanTask",value:function(e){void 0===e.id&&(e.id=t.ganttUtils.randomUuid()),void 0===e.from||d.default.isMoment(e.from)||(e.from=(0,d.default)(e.from)),void 0===e.to||d.default.isMoment(e.to)||(e.to=(0,d.default)(e.to)),this.api.tasks.raise.clean(e)}},{key:"cleanRow",value:function(e){void 0===e.id&&(e.id=t.ganttUtils.randomUuid()),void 0===e.from||d.default.isMoment(e.from)||(e.from=(0,d.default)(e.from)),void 0===e.to||d.default.isMoment(e.to)||(e.to=(0,d.default)(e.to)),this.api.rows.raise.clean(e)}},{key:"cleanTimespan",value:function(e){void 0===e.id&&(e.id=t.ganttUtils.randomUuid()),void 0===e.from||d.default.isMoment(e.from)||(e.from=(0,d.default)(e.from)),void 0===e.to||d.default.isMoment(e.to)||(e.to=(0,d.default)(e.to)),this.api.timespans.raise.clean(e)}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttRowsManager=void 0;var i=n(4),o=a(i),r=n(5),s=a(r),l=n(2),d=a(l),u=n(3),c=a(u);e.default=["GanttRow","ganttArrays","$filter","$timeout",function(t,e,n,a){"ngInject";return m.GanttRow=t,m.$filter=n,m.$timeout=a,m.ganttArrays=e,m}];var f=n(1),g=a(f),h=n(0),v=a(h),m=e.GanttRowsManager=function(){function t(e){var n=this;(0,d.default)(this,t),this.rowsMap={},this.rows=[],this.sortedRows=[],this.filteredRows=[],this.customFilteredRows=[],this.visibleRows=[],this.rowsTaskWatchers=[],this.customRowSorters=[],this.customRowFilters=[],this.gantt=e,this._defaultFilterImpl=function(e,n,a){return t.$filter("filter")(e,n,a)},this.filterImpl=this._defaultFilterImpl,this.customRowSorters=[],this.customRowFilters=[],this.gantt.$scope.$watchGroup(["filterTask","filterTaskComparator"],function(t,e){t!==e&&n.updateVisibleTasks()}),this.gantt.$scope.$watchGroup(["filterRow","filterRowComparator"],function(t,e){t!==e&&n.updateVisibleRows()}),this.gantt.$scope.$watch("sortMode",function(t,e){t!==e&&n.sortRows()});var a=this.gantt.scroll.isVScrollbarVisible();this.gantt.$scope.$watchGroup(["maxHeight","gantt.rowsManager.visibleRows.length"],function(e,i){e!==i&&t.$timeout(function(){var t=n.gantt.scroll.isVScrollbarVisible();t!==a&&(a=t,n.gantt.columnsManager.updateColumnsMeta())})}),this.gantt.api.registerMethod("rows","sort",t.prototype.sortRows,this),this.gantt.api.registerMethod("rows","applySort",t.prototype.applySort,this),this.gantt.api.registerMethod("rows","refresh",t.prototype.updateVisibleObjects,this),this.gantt.api.registerMethod("rows","removeRowSorter",t.prototype.removeCustomRowSorter,this),this.gantt.api.registerMethod("rows","addRowSorter",t.prototype.addCustomRowSorter,this),this.gantt.api.registerMethod("rows","removeRowFilter",t.prototype.removeCustomRowFilter,this),this.gantt.api.registerMethod("rows","addRowFilter",t.prototype.addCustomRowFilter,this),this.gantt.api.registerMethod("rows","setFilterImpl",t.prototype.setFilterImpl,this),this.gantt.api.registerEvent("tasks","add"),this.gantt.api.registerEvent("tasks","change"),this.gantt.api.registerEvent("tasks","viewChange"),this.gantt.api.registerEvent("tasks","beforeRowChange"),this.gantt.api.registerEvent("tasks","beforeViewRowChange"),this.gantt.api.registerEvent("tasks","rowChange"),this.gantt.api.registerEvent("tasks","viewRowChange"),this.gantt.api.registerEvent("tasks","remove"),this.gantt.api.registerEvent("tasks","filter"),this.gantt.api.registerEvent("tasks","displayed"),this.gantt.api.registerEvent("rows","add"),this.gantt.api.registerEvent("rows","change"),this.gantt.api.registerEvent("rows","remove"),this.gantt.api.registerEvent("rows","move"),this.gantt.api.registerEvent("rows","displayed"),this.gantt.api.registerEvent("rows","filter"),this.updateVisibleObjects()}return(0,c.default)(t,[{key:"resetNonModelLists",value:function(){this.rows=[],this.sortedRows=[],this.filteredRows=[],this.customFilteredRows=[],this.visibleRows=[]}},{key:"addRow",value:function(e,n){var a=void 0,i=void 0,o=void 0,r=!1;if(this.gantt.objectModel.cleanRow(e),e.id in this.rowsMap){if(a=this.rowsMap[e.id],n&&(this.rows.push(a),this.sortedRows.push(a),this.filteredRows.push(a),this.customFilteredRows.push(a),this.visibleRows.push(a)),a.model===e)return;var s=t.ganttArrays.getRemovedIds(e.tasks,a.model.tasks);for(i=0,o=s.length;i<o;i++){var l=s[i];a.removeTask(l)}a.model=e,r=!0}else a=new t.GanttRow(this,e),this.rowsMap[e.id]=a,this.rows.push(a),this.sortedRows.push(a),this.filteredRows.push(a),this.customFilteredRows.push(a),this.visibleRows.push(a);if(void 0!==e.tasks&&e.tasks.length>0){for(i=0,o=e.tasks.length;i<o;i++){var d=e.tasks[i];a.addTask(d)}a.updateVisibleTasks()}if(r?this.gantt.api.rows.raise.change(a):this.gantt.api.rows.raise.add(a),!r){var u=this.gantt.$scope.$watchCollection(function(){return e.tasks},function(e,n){if(e!==n){var i=void 0,o=void 0,r=t.ganttArrays.getRemovedIds(e,n);for(i=0,o=r.length;i<o;i++){var s=r[i];a.removeTask(s)}if(void 0!==e){for(i=0,o=e.length;i<o;i++){var l=e[i];a.addTask(l)}a.updateVisibleTasks()}}});this.rowsTaskWatchers.push(u)}return r}},{key:"removeRow",value:function(e){if(e in this.rowsMap){delete this.rowsMap[e];var n=void 0,a=t.ganttArrays.indexOfId(this.rows,e,["model","id"]);if(a>-1){n=this.rows.splice(a,1)[0];var i=this.rowsTaskWatchers.splice(a,1)[0];i&&i()}return t.ganttArrays.removeId(this.sortedRows,e,["model","id"]),t.ganttArrays.removeId(this.filteredRows,e,["model","id"]),t.ganttArrays.removeId(this.customFilteredRows,e,["model","id"]),t.ganttArrays.removeId(this.visibleRows,e,["model","id"]),this.gantt.api.rows.raise.remove(n),n}}},{key:"removeAll",value:function(){this.rowsMap={},this.rows=[],this.sortedRows=[],this.filteredRows=[],this.customFilteredRows=[],this.visibleRows=[];var t=!0,e=!1,n=void 0;try{for(var a,i=(0,s.default)(this.rowsTaskWatchers);!(t=(a=i.next()).done);t=!0){(0,a.value)()}}catch(t){e=!0,n=t}finally{try{!t&&i.return&&i.return()}finally{if(e)throw n}}this.rowsTaskWatchers=[]}},{key:"sortRows",value:function(){var e=this.gantt.options.value("sortMode");if(void 0!==e){var n=!1;("string"==typeof e||e instanceof String)&&"-"===e.charAt(0)&&(n=!0,e=e.substr(1));var a=t.$filter("orderBy");this.sortedRows=a(this.rows,e,n)}else this.sortedRows=this.rows.slice();this.sortedRows=this.applyCustomRowSorters(this.sortedRows),this.updateVisibleRows()}},{key:"removeCustomRowSorter",value:function(t){var e=this.customRowSorters.indexOf(t);e>-1&&this.customRowSorters.splice(e,1)}},{key:"addCustomRowSorter",value:function(t){this.customRowSorters.push(t)}},{key:"applyCustomRowSorters",value:function(t){var e=t,n=!0,a=!1,i=void 0;try{for(var o,r=(0,s.default)(this.customRowSorters);!(n=(o=r.next()).done);n=!0){e=(0,o.value)(e)}}catch(t){a=!0,i=t}finally{try{!n&&r.return&&r.return()}finally{if(a)throw i}}return e}},{key:"applySort",value:function(){var t=this.gantt.$scope.data;t.splice(0,t.length);var e=[],n=!0,a=!1,i=void 0;try{for(var o,r=(0,s.default)(this.sortedRows);!(n=(o=r.next()).done);n=!0){var l=o.value;t.push(l.model),e.push(l)}}catch(t){a=!0,i=t}finally{try{!n&&r.return&&r.return()}finally{if(a)throw i}}this.rows=e}},{key:"moveRow",value:function(e,n){void 0!==this.gantt.options.value("sortMode")&&(this.applySort(),this.gantt.options.set("sortMode",void 0));var a=this.rows.indexOf(n),i=this.rows.indexOf(e);a>-1&&i>-1&&a!==i&&(t.ganttArrays.moveToIndex(this.rows,i,a),t.ganttArrays.moveToIndex(this.rowsTaskWatchers,i,a),t.ganttArrays.moveToIndex(this.gantt.$scope.data,i,a),this.gantt.api.rows.raise.change(e),this.gantt.api.rows.raise.move(e,i,a),this.updateVisibleObjects(),this.sortRows())}},{key:"updateVisibleObjects",value:function(){this.updateVisibleRows(),this.updateVisibleTasks()}},{key:"updateVisibleRows",value:function(){var t=this.filteredRows,e=this.gantt.options.value("filterRow");if(e){"object"===(void 0===e?"undefined":(0,o.default)(e))&&(e={model:e});var n=this.gantt.options.value("filterRowComparator");if("function"==typeof n){var a=this.gantt;n=function(t,e){return a.options.value("filterRowComparator")(t,e)}}this.filteredRows=this.filterImpl(this.sortedRows,e,n)}else this.filteredRows=this.sortedRows.slice(0);var i=!g.default.equals(t,this.filteredRows);this.customFilteredRows=this.applyCustomRowFilters(this.filteredRows),this.visibleRows=this.customFilteredRows,this.gantt.api.rows.raise.displayed(this.sortedRows,this.filteredRows,this.visibleRows),i&&this.gantt.api.rows.raise.filter(this.sortedRows,this.filteredRows)}},{key:"removeCustomRowFilter",value:function(t){var e=this.customRowFilters.indexOf(t);e>-1&&this.customRowFilters.splice(e,1)}},{key:"addCustomRowFilter",value:function(t){this.customRowFilters.push(t)}},{key:"applyCustomRowFilters",value:function(t){var e=t,n=!0,a=!1,i=void 0;try{for(var o,r=(0,s.default)(this.customRowFilters);!(n=(o=r.next()).done);n=!0){e=(0,o.value)(e)}}catch(t){a=!0,i=t}finally{try{!n&&r.return&&r.return()}finally{if(a)throw i}}return e}},{key:"setFilterImpl",value:function(t){this.filterImpl=t||this._defaultFilterImpl}},{key:"updateVisibleTasks",value:function(){var t=[],e=[],n=[],a=[],i=!0,o=!1,r=void 0;try{for(var l,d=(0,s.default)(this.rows);!(i=(l=d.next()).done);i=!0){var u=l.value;t=t.concat(u.filteredTasks),u.updateVisibleTasks(),e=e.concat(u.filteredTasks),a=a.concat(u.visibleTasks),n=n.concat(u.tasks)}}catch(t){o=!0,r=t}finally{try{!i&&d.return&&d.return()}finally{if(o)throw r}}this.gantt.api.tasks.raise.displayed(n,e,a),!g.default.equals(t,e)&&this.gantt.api.tasks.raise.filter(n,e,a)}},{key:"updateTasksPosAndSize",value:function(){var t=!0,e=!1,n=void 0;try{for(var a,i=(0,s.default)(this.rows);!(t=(a=i.next()).done);t=!0){a.value.updateTasksPosAndSize()}}catch(t){e=!0,n=t}finally{try{!t&&i.return&&i.return()}finally{if(e)throw n}}}},{key:"getExpandedFrom",value:function(t){t=t?(0,v.default)(t):t;var e=t,n=!0,a=!1,i=void 0;try{for(var o,r=(0,s.default)(this.rows);!(n=(o=r.next()).done);n=!0){var l=o.value;(void 0===e||e>l.from)&&(e=l.from)}}catch(t){a=!0,i=t}finally{try{!n&&r.return&&r.return()}finally{if(a)throw i}}return e&&(!t||e<t)?e:t}},{key:"getExpandedTo",value:function(t){t=t?(0,v.default)(t):t;var e=t,n=!0,a=!1,i=void 0;try{for(var o,r=(0,s.default)(this.rows);!(n=(o=r.next()).done);n=!0){var l=o.value;(void 0===e||e<l.to)&&(e=l.to)}}catch(t){a=!0,i=t}finally{try{!n&&r.return&&r.return()}finally{if(a)throw i}}var d=this.gantt.options.value("toDate");return e&&(!d||e>d)?e:t}},{key:"getDefaultFrom",value:function(){var t=void 0,e=!0,n=!1,a=void 0;try{for(var i,o=(0,s.default)(this.rows);!(e=(i=o.next()).done);e=!0){var r=i.value;(void 0===t||r.from<t)&&(t=r.from)}}catch(t){n=!0,a=t}finally{try{!e&&o.return&&o.return()}finally{if(n)throw a}}return t}},{key:"getDefaultTo",value:function(){var t=void 0,e=!0,n=!1,a=void 0;try{for(var i,o=(0,s.default)(this.rows);!(e=(i=o.next()).done);e=!0){var r=i.value;(void 0===t||r.to>t)&&(t=r.to)}}catch(t){n=!0,a=t}finally{try{!e&&o.return&&o.return()}finally{if(n)throw a}}return t}}]),t}()},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GanttBody=void 0;var a=n(2),i=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default=["GanttBodyColumns","GanttBodyRows","GanttBodyBackground","GanttBodyForeground",function(t,e,n,a){"ngInject";return o.GanttBodyColumns=t,o.GanttBodyRows=e,o.GanttBodyBackground=n,o.GanttBodyForeground=a,o}];var o=e.GanttBody=function t(e){(0,i.default)(this,t),this.gantt=e,this.background=new t.GanttBodyBackground(this),this.foreground=new t.GanttBodyForeground(this),this.columns=new t.GanttBodyColumns(this),this.rows=new t.GanttBodyRows(this)}},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttHeader=void 0;var i=n(2),o=a(i),r=n(3),s=a(r);e.default=["GanttHeaderColumns",function(t){"ngInject";return l.GanttHeaderColumns=t,l}];var l=e.GanttHeader=function(){function t(e){(0,o.default)(this,t),this.gantt=e,this.columns=new t.GanttHeaderColumns(this.gantt)}return(0,s.default)(t,[{key:"getHeight",value:function(){return this.$element[0].offsetHeight}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttScroll=void 0;var i=n(2),o=a(i),r=n(3),s=a(r);e.default=function(){"ngInject";return l};var l=e.GanttScroll=function(){function t(e){(0,o.default)(this,t),this.gantt=e,this.gantt.api.registerEvent("scroll","scroll"),this.gantt.api.registerMethod("scroll","to",this.scrollTo,this),this.gantt.api.registerMethod("scroll","toDate",this.scrollToDate,this),this.gantt.api.registerMethod("scroll","left",this.scrollToLeft,this),this.gantt.api.registerMethod("scroll","right",this.scrollToRight,this),this.gantt.api.registerMethod("scroll","setWidth",this.setWidth,this)}return(0,s.default)(t,[{key:"getScrollLeft",value:function(){return void 0===this.$element?void 0:(void 0===this.cachedScrollLeft&&(this.cachedScrollLeft=this.$element[0].scrollLeft),this.cachedScrollLeft)}},{key:"getScrollWidth",value:function(){return void 0===this.$element?void 0:this.$element[0].scrollWidth}},{key:"getWidth",value:function(){return void 0===this.$element?void 0:this.$element[0].offsetWidth}},{key:"setWidth",value:function(t){this.$element[0]}},{key:"getBordersWidth",value:function(){if(void 0!==this.$element){if(this.$element[0].clientWidth)return this.$element[0].offsetWidth-this.$element[0].clientWidth;var t=window.getComputedStyle(this.$element[0]).getPropertyValue("border-left-width")?window.getComputedStyle(this.$element[0]).getPropertyValue("border-left-width").match(/\d+/)[0]:"0",e=window.getComputedStyle(this.$element[0]).getPropertyValue("border-right-width")?window.getComputedStyle(this.$element[0]).getPropertyValue("border-right-width").match(/\d+/)[0]:"0";return parseInt(t,10)+parseInt(e,10)}}},{key:"getBordersHeight",value:function(){return void 0===this.$element?void 0:this.$element[0].offsetHeight-this.$element[0].clientHeight}},{key:"isVScrollbarVisible",value:function(){if(void 0!==this.$element)return this.$element[0].scrollHeight>this.$element[0].offsetHeight}},{key:"isHScrollbarVisible",value:function(){if(void 0!==this.$element)return this.$element[0].scrollWidth>this.$element[0].offsetWidth}},{key:"scrollTo",value:function(t){this.$element[0].scrollLeft=t,this.$element.triggerHandler("scroll")}},{key:"scrollToLeft",value:function(t){this.$element[0].scrollLeft-=t,this.$element.triggerHandler("scroll")}},{key:"scrollToRight",value:function(t){this.$element[0].scrollLeft+=t,this.$element.triggerHandler("scroll")}},{key:"scrollToDate",value:function(t){var e=this.gantt.getPositionByDate(t);void 0!==e&&(this.$element[0].scrollLeft=e-this.$element[0].offsetWidth/2)}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttSide=void 0;var i=n(2),o=a(i),r=n(3),s=a(r);e.default=function(){"ngInject";return l};var l=e.GanttSide=function(){function t(e){(0,o.default)(this,t),this.gantt=e}return(0,s.default)(t,[{key:"getWidth",value:function(){if(this.gantt.options.value("showSide")){var t=this.gantt.options.value("sideWidth");if(void 0===t&&void 0!==this.$element&&void 0!==this.$element.css("width")&&this.$element.css("width",""),void 0!==this.$element&&(t=this.$element[0].offsetWidth),void 0!==t)return t}return 0}},{key:"show",value:function(t){void 0!==this.$element&&this.$element.toggleClass("ng-hide",!t)}},{key:"isShown",value:function(){if(void 0!==this.$element)return!this.$element.hasClass("ng-hide")}}]),t}()},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttTimespansManager=void 0;var i=n(2),o=a(i),r=n(3),s=a(r);e.default=["GanttTimespan",function(t){"ngInject";return l.GanttTimespan=t,l}];var l=e.GanttTimespansManager=function(){function t(e){var n=this;(0,o.default)(this,t),this.timespansMap={},this.timespans=[],this.gantt=e,this.gantt.$scope.$watchCollection("timespans",function(t){n.clearTimespans(),n.loadTimespans(t)}),this.gantt.api.registerMethod("timespans","load",this.loadTimespans,this),this.gantt.api.registerMethod("timespans","remove",this.removeTimespans,this),this.gantt.api.registerMethod("timespans","clear",this.clearTimespans,this),this.gantt.api.registerEvent("timespans","add"),this.