UNPKG

angular-gantt

Version:

Gantt chart component for AngularJS

8 lines 131 kB
/*! * 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(require("angular"),require("moment")):"function"==typeof define&&define.amd?define("angular-gantt-core",["angular","moment"],e):"object"==typeof exports?exports["angular-gantt-core"]=e(require("angular"),require("moment")):t["angular-gantt-core"]=e(t.angular,t.moment)}(this,function(t,e){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=6)}([function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){"use strict";e.__esModule=!0;var i=n(126),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),(0,r.default)(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}()},function(e,n){e.exports=t},function(t,n){t.exports=e},function(t,e,n){t.exports={default:n(133),__esModule:!0}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var r=n(130),a=i(r),o=n(129),s=i(o),l="function"==typeof s.default&&"symbol"==typeof a.default?function(t){return typeof t}:function(t){return t&&"function"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?"symbol":typeof t};e.default="function"==typeof s.default&&"symbol"===l(a.default)?function(t){return void 0===t?"undefined":l(t)}:function(t){return t&&"function"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?"symbol":void 0===t?"undefined":l(t)}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),a=i(r),o=n(64),s=i(o),l=n(83),u=i(l),d=n(89),c=i(d),f=n(90),h=i(f),v=n(91),g=i(v),m=n(92),p=i(m),y=n(84),w=i(y),k=n(87),b=i(k),M=n(85),_=i(M),C=n(86),$=i(C),T=n(88),x=i(T),O=n(93),F=i(O),S=n(94),j=i(S),R=n(95),P=i(R),G=n(96),D=i(G),B=n(97),W=i(B),E=n(98),I=i(E),H=n(99),A=i(H),L=n(100),V=i(L),z=n(101),U=i(z),N=n(102),q=i(N),Y=n(103),K=i(Y),Q=n(104),X=i(Q),J=n(105),Z=i(J),tt=n(106),et=i(tt),nt=n(107),it=i(nt),rt=n(108),at=i(rt),ot=n(109),st=i(ot),lt=n(110),ut=i(lt),dt=n(111),ct=i(dt),ft=n(112),ht=i(ft),vt=n(113),gt=i(vt),mt=n(114),pt=i(mt),yt=n(119),wt=i(yt),kt=n(68),bt=i(kt),Mt=n(37),_t=i(Mt),Ct=n(38),$t=i(Ct),Tt=n(39),xt=i(Tt),Ot=n(47),Ft=i(Ot),St=n(45),jt=i(St),Rt=n(72),Pt=i(Rt),Gt=n(74),Dt=i(Gt),Bt=n(71),Wt=i(Bt),Et=n(73),It=i(Et),Ht=n(46),At=i(Ht),Lt=n(75),Vt=i(Lt),zt=n(48),Ut=i(zt),Nt=n(43),qt=i(Nt),Yt=n(70),Kt=i(Yt),Qt=n(69),Xt=i(Qt),Jt=n(44),Zt=i(Jt),te=n(23),ee=i(te),ne=n(65),ie=i(ne),re=n(41),ae=i(re),oe=n(42),se=i(oe),le=n(76),ue=i(le),de=n(49),ce=i(de),fe=n(40),he=i(fe),ve=n(79),ge=i(ve),me=n(115),pe=i(me),ye=n(123),we=i(ye),ke=n(116),be=i(ke),Me=n(118),_e=i(Me),Ce=n(80),$e=i(Ce),Te=n(77),xe=i(Te),Oe=n(78),Fe=i(Oe),Se=n(120),je=i(Se),Re=n(67),Pe=i(Re),Ge=n(66),De=i(Ge),Be=n(117),We=i(Be),Ee=n(121),Ie=i(Ee),He=n(122),Ae=i(He),Le=n(81),Ve=i(Le),ze=n(82),Ue=i(ze);n(124),n(63);a.default.module("gantt",[]).directive("gantt",s.default).directive("ganttResizer",u.default).directive("ganttContainerWidthListener",h.default).directive("ganttContainerHeightListener",c.default).directive("ganttElementWidthListener",p.default).directive("ganttElementHeightListener",g.default).directive("ganttHorizontalScrollReceiver",w.default).directive("ganttScrollable",b.default).directive("ganttScrollManager",_.default).directive("ganttScrollSender",$.default).directive("ganttVerticalScrollReceiver",x.default).directive("ganttBindCompileHtml",wt.default).directive("ganttBody",F.default).directive("ganttBodyBackground",j.default).directive("ganttBodyColumns",P.default).directive("ganttBodyForeground",D.default).directive("ganttBodyRows",W.default).directive("ganttColumn",I.default).directive("ganttColumnHeader",A.default).directive("ganttHeader",V.default).directive("ganttHeaderColumns",U.default).directive("ganttRow",q.default).directive("ganttRowBackground",K.default).directive("ganttRowLabel",X.default).directive("ganttScrollableHeader",Z.default).directive("ganttSide",et.default).directive("ganttSideBackground",it.default).directive("ganttSideContent",at.default).directive("ganttTask",st.default).directive("ganttTaskBackground",ut.default).directive("ganttTaskContent",ct.default).directive("ganttTaskForeground",ht.default).directive("ganttTimeFrame",gt.default).directive("ganttTimespan",pt.default).factory("GanttDirectiveBuilder",be.default).factory("Gantt",bt.default).factory("GanttApi",_t.default).factory("GanttOptions",$t.default).factory("GanttCalendar",xt.default).factory("GanttScroll",Ft.default).factory("GanttBody",jt.default).factory("GanttBodyColumns",Pt.default).factory("GanttBodyRows",Dt.default).factory("GanttBodyBackground",Wt.default).factory("GanttBodyForeground",It.default).factory("GanttHeader",At.default).factory("GanttHeaderColumns",Vt.default).factory("GanttSide",Ut.default).factory("GanttObjectModel",qt.default).factory("GanttTask",Kt.default).factory("GanttRow",Xt.default).factory("GanttRowsManager",Zt.default).factory("GanttColumn",ee.default).factory("GanttColumnHeader",ae.default).factory("GanttColumnBuilder",ie.default).factory("GanttColumnsManager",se.default).factory("GanttTimespan",ue.default).factory("GanttTimespansManager",ce.default).factory("GanttCurrentDateManager",he.default).factory("GanttHierarchy",ge.default).factory("ganttDebounce",pe.default).factory("GanttSmartEvent",we.default).service("ganttEnableNgAnimate",_e.default).service("ganttUtils",$e.default).service("ganttArrays",xe.default).service("ganttBinarySearch",Fe.default).service("ganttLayout",je.default).service("GanttHeadersGenerator",Pe.default).service("GanttColumnGenerator",De.default).service("ganttDom",We.default).service("ganttMouseButton",Ie.default).service("ganttMouseOffset",Ae.default).filter("ganttColumnLimit",Ve.default).filter("ganttTaskLimit",Ue.default),e.default="gantt"},function(t,e){var n=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var i=n(32)("wks"),r=n(22),a=n(8).Symbol,o="function"==typeof a;(t.exports=function(t){return i[t]||(i[t]=o&&a[t]||(o?a:r)("Symbol."+t))}).store=i},function(t,e,n){t.exports=!n(17)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(14),r=n(52),a=n(34),o=Object.defineProperty;e.f=n(10)?Object.defineProperty:function(t,e,n){if(i(t),e=a(e,!0),i(n),r)try{return o(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var i=n(146),r=n(25);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(18);t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){var i=n(8),r=n(7),a=n(50),o=n(16),s=function(t,e,n){var l,u,d,c=t&s.F,f=t&s.G,h=t&s.S,v=t&s.P,g=t&s.B,m=t&s.W,p=f?r:r[e]||(r[e]={}),y=p.prototype,w=f?i:h?i[e]:(i[e]||{}).prototype;f&&(n=e);for(l in n)(u=!c&&w&&void 0!==w[l])&&l in p||(d=u?w[l]:n[l],p[l]=f&&"function"!=typeof w[l]?n[l]:g&&u?a(d,i):m&&w[l]==d?function(t){var e=function(e,n,i){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,i)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(d):v&&"function"==typeof d?a(Function.call,d):d,v&&((p.virtual||(p.virtual={}))[l]=d,t&s.R&&y&&!y[l]&&o(y,l,d)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e,n){var i=n(12),r=n(21);t.exports=n(10)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports={}},function(t,e,n){var i=n(58),r=n(26);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+i).toString(36))}},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttColumn=void 0;var r=n(4),a=i(r),o=n(0),s=i(o),l=n(1),u=i(l);e.default=function(){"ngInject";return f};var d=n(3),c=i(d),f=e.GanttColumn=function(){function t(e,n,i,r,a,o,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=i,this.width=r,this.calendar=a,this.duration=this.endDate.diff(this.date,"milliseconds"),this.timeFramesWorkingMode=o,this.timeFramesNonWorkingMode=l,this.timeFrames=[],this.visibleTimeFrames=[],this.daysTimeFrames={},this.originalSize={left:this.left,width:this.width},this.updateTimeFrames()}return(0,u.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"),i=void 0;t<this.endDate;){var r=this.calendar.getTimeFrames(t),o=c.default.min(n,this.endDate);r=this.calendar.solve(r,t,o);var s=[];for(i=0;i<r.length;i++){var l=r[i],u=l.start;void 0===u&&(u=t);var d=l.end;void 0===d&&(d=o),u<this.date&&(u=this.date),d>this.endDate&&(d=this.endDate),l=l.clone(),l.start=(0,c.default)(u),l.end=(0,c.default)(d),s.push(l)}this.timeFrames=this.timeFrames.concat(s);var f=this.getDateKey(t);this.daysTimeFrames[f]=s,t=o,e=(0,c.default)(t).startOf("day"),n=e.add(1,"day")}for(i=0;i<this.timeFrames.length;i++){var h=this.timeFrames[i],v=h.start.diff(this.date,"milliseconds"),g=v/this.duration*this.width,m=h.end.diff(h.start,"milliseconds"),p=m/this.duration*this.width,y=!1;h.working&&"visible"!==this.timeFramesWorkingMode?y=!0:h.working||"visible"===this.timeFramesNonWorkingMode||(y=!0),y||this.visibleTimeFrames.push(h),h.hidden=y,h.left=g,h.width=p,h.originalSize={left:h.left,width:h.width}}if("cropped"===this.timeFramesNonWorkingMode||"cropped"===this.timeFramesWorkingMode){var w=0,k=!0,b=!1,M=void 0;try{for(var _,C=(0,a.default)(this.timeFrames);!(k=(_=C.next()).done);k=!0){var $=_.value;(!$.working&&"cropped"!==this.timeFramesNonWorkingMode||$.working&&"cropped"!==this.timeFramesWorkingMode)&&(w+=$.width)}}catch(t){b=!0,M=t}finally{try{!k&&C.return&&C.return()}finally{if(b)throw M}}if(w!==this.width){var T=this.width/w,x=0,O=0,F=!0,S=!0,j=!1,R=void 0;try{for(var P,G=(0,a.default)(this.timeFrames);!(S=(P=G.next()).done);S=!0){var D=P.value;!D.working&&"cropped"!==this.timeFramesNonWorkingMode||D.working&&"cropped"!==this.timeFramesWorkingMode?(D.left=(D.left-x)*T,D.width=D.width*T,D.originalSize.left=(D.originalSize.left-O)*T,D.originalSize.width=D.originalSize.width*T,D.cropped=!1,F=!1):(x+=D.width,O+=D.originalSize.width,D.left=void 0,D.width=0,D.originalSize={left:void 0,width:0},D.cropped=!0)}}catch(t){j=!0,R=t}finally{try{!S&&G.return&&G.return()}finally{if(j)throw R}}this.cropped=F}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,i){"day"===e&&(e="date"),n=n||1;var r=t.get(e);switch(i){case"up":r=Math.ceil(r/n);break;case"down":r=Math.floor(r/n);break;default:r=Math.round(r/n)}var a=["millisecond","second","minute","hour","date","month","year"];t.set(e,r*n);for(var o=a.indexOf(e),s=0;s<o;s++)t.set(a[s],0);return t}},{key:"getMagnetDate",value:function(t,e,n,i){if(e>0&&void 0!==n){var r=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(i)for(var a=Math.abs(r.diff(t,"milliseconds")),o=void 0,s=0;s<this.timeFrames.length;s++){var l=this.timeFrames[s];if(l.magnet){var u=this.timeFrames[s-1],d=this.timeFrames[s+1],f=void 0;void 0!==u&&u.working===l.working||(f=Math.abs(r.diff(l.start,"milliseconds")))<a&&(void 0===o||f<o)&&(o=f,t=l.start),void 0!==d&&d.working===l.working||(f=Math.abs(r.diff(l.end,"milliseconds")))<a&&(void 0===o||f<o)&&(o=f,t=l.end)}}}return t}},{key:"getDateByPositionUsingTimeFrames",value:function(t){var e=!0,n=!1,i=void 0;try{for(var r,o=(0,a.default)(this.timeFrames);!(e=(r=o.next()).done);e=!0){var s=r.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,i=t}finally{try{!e&&o.return&&o.return()}finally{if(n)throw i}}}},{key:"getDateByPosition",value:function(t,e,n,i){var r=void 0;if(t<0&&(t=0),t>this.width&&(t=this.width),"cropped"!==this.timeFramesNonWorkingMode&&"cropped"!==this.timeFramesWorkingMode||(r=this.getDateByPositionUsingTimeFrames(t)),void 0===r){var a=this.duration/this.width*t;r=(0,c.default)(this.date).add(a,"milliseconds")}return r=this.getMagnetDate(r,e,n,i)}},{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),i=0;i<n.length;i++){var r=n[i];if(e>=r.start&&e<=r.end){if(!r.cropped){var a=e.diff(r.start,"milliseconds"),o=a/r.getDuration()*r.width;return this.left+r.left+o}e=n.length>i+1?n[i+1].start:r.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){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e){t.exports=!0},function(t,e,n){var i=n(14),r=n(152),a=n(26),o=n(31)("IE_PROTO"),s=function(){},l=function(){var t,e=n(51)("iframe"),i=a.length;for(e.style.display="none",n(145).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),l=t.F;i--;)delete l.prototype[a[i]];return l()};t.exports=Object.create||function(t,e){var n;return null!==t?(s.prototype=i(t),n=new s,s.prototype=null,n[o]=t):n=l(),void 0===e?n:r(n,e)}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var i=n(12).f,r=n(11),a=n(9)("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,a)&&i(t,a,{configurable:!0,value:e})}},function(t,e,n){var i=n(32)("keys"),r=n(22);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(8),r=i["__core-js_shared__"]||(i["__core-js_shared__"]={});t.exports=function(t){return r[t]||(r[t]={})}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){var i=n(18);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var i=n(8),r=n(7),a=n(27),o=n(36),s=n(12).f;t.exports=function(t){var e=r.Symbol||(r.Symbol=a?{}:i.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:o.f(t)})}},function(t,e,n){e.f=n(9)},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttApi=void 0;var r=n(4),a=i(r),o=n(0),s=i(o),l=n(1),u=i(l);e.default=["$q","$rootScope","ganttUtils",function(t,e,n){"ngInject";return d.$q=t,d.$rootScope=e,d.ganttUtils=n,d}];var d=e.GanttApi=function(){function t(e){(0,s.default)(this,t),this.gantt=e,this.listeners=[],this.apiId=t.ganttUtils.newId()}return(0,u.default)(t,[{key:"registerEventWithAngular",value:function(e,n,i,r){return t.$rootScope.$on(e,function(){var t=Array.prototype.slice.call(arguments);t.splice(0,1),n.apply(r||i.api,t)})}},{key:"suppressEvents",value:function(t,e){var n=this,i=Array.isArray(t)?t:[t],r=[];i.forEach(function(t){r=n.listeners.filter(function(e){return t===e.handler})}),r.forEach(function(t){return t.dereg()}),e(),r.forEach(function(t){t.dereg=n.registerEventWithAngular(t.eventId,t.handler,n.gantt,t._this)})}},{key:"registerEvent",value:function(e,n){var i=this;this[e]||(this[e]={});var r=this[e];r.on||(r.on={},r.raise={});var a="event:gantt:"+this.apiId+":"+e+":"+n;r.raise[n]=function(){t.$rootScope.$emit.apply(t.$rootScope,[a].concat(Array.prototype.slice.call(arguments)))},r.on[n]=function(t,e,n){var r=i.registerEventWithAngular(a,e,i.gantt,n),o={handler:e,dereg:r,eventId:a,scope:t,_this:n};i.listeners.push(o);var s=function(){o.dereg();var t=i.listeners.indexOf(o);i.listeners.splice(t,1)};return t.$on("$destroy",function(){s()}),s}}},{key:"registerEventsFromObject",value:function(t){var e=this,n=[];for(var i in t){var r=t[i],o={name:i,events:[]};for(var s in r)o.events.push(s);n.push(o)}var l=!0,u=!1,d=void 0;try{for(var c,f=(0,a.default)(n);!(l=(c=f.next()).done);l=!0){var h=c.value;!function(t){t.events.forEach(function(n){e.registerEvent(t.name,n)})}(h)}}catch(t){u=!0,d=t}finally{try{!l&&f.return&&f.return()}finally{if(u)throw d}}}},{key:"registerMethod",value:function(e,n,i,r){this[e]||(this[e]={}),this[e][n]=t.ganttUtils.createBoundedWrapper(r||this.gantt,i)}},{key:"registerMethodsFromObject",value:function(t,e){var n=[];for(var i in t){var r=t[i],o={name:i,methods:[]};for(var s in r){var l=r[s];o.methods.push({name:s,fn:l})}n.push(o)}var u=!0,d=!1,c=void 0;try{for(var f,h=(0,a.default)(n);!(u=(f=h.next()).done);u=!0){var v=f.value,g=!0,m=!1,p=void 0;try{for(var y,w=(0,a.default)(v.methods);!(g=(y=w.next()).done);g=!0){var k=y.value;this.registerMethod(v.name,k.name,k.fn,e)}}catch(t){m=!0,p=t}finally{try{!g&&w.return&&w.return()}finally{if(m)throw p}}}}catch(t){d=!0,c=t}finally{try{!u&&h.return&&h.return()}finally{if(d)throw c}}}}]),t}()},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttOptions=void 0;var r=n(0),a=i(r),o=n(1),s=i(o);e.default=function(){"ngInject";return l};var l=e.GanttOptions=function(){function t(e,n){(0,a.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 i(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 r=n(4),a=i(r),o=n(0),s=i(o),l=n(1),u=i(l);e.default=["$filter",function(t){"ngInject";return g.$filter=t,g}];var d=n(3),c=i(d),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,u.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,i=e.length;n<i;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}(),h=e.TimeFrameMapping=function(){function t(e){(0,s.default)(this,t),this.func=e}return(0,u.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}(),v=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,u.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}(),g=e.GanttCalendar=function(){function t(){(0,s.default)(this,t),this.timeFrames={},this.timeFrameMappings={},this.dateFrames={}}return(0,u.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 h(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 v(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 i in t){var r=t[i];r.dateMatch(e)&&n.push(r)}if(0===n.length)for(var a in t){var o=t[a];o.default&&n.push(o)}return n}},{key:"getTimeFrames",value:function(t){var e=[],n=this.filterDateFrames(this.dateFrames,t),i=!0,r=!1,o=void 0;try{for(var s,l=(0,a.default)(n);!(i=(s=l.next()).done);i=!0){var u=s.value;if(void 0!==u){var d=u.targets,f=!0,h=!1,v=void 0;try{for(var g,m=(0,a.default)(d);!(f=(g=m.next()).done);f=!0){var p=g.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,a.default)(w);!(k=(_=C.next()).done);k=!0){var $=_.value,T=this.timeFrames[$];e.push(T)}}catch(t){b=!0,M=t}finally{try{!k&&C.return&&C.return()}finally{if(b)throw M}}}else{var x=this.timeFrames[p];void 0!==x&&e.push(x)}}}catch(t){h=!0,v=t}finally{try{!f&&m.return&&m.return()}finally{if(h)throw v}}}}}catch(t){r=!0,o=t}finally{try{!i&&l.return&&l.return()}finally{if(r)throw o}}var O=t.year(),F=t.month(),S=t.date(),j=[];if(0===e.length)for(var R in this.timeFrames){var P=this.timeFrames[R];P.default&&e.push(P)}for(var G in e){var D=e[G],B=D.clone();void 0!==B.start&&(B.start.year(O),B.start.month(F),B.start.date(S)),void 0!==B.end&&(B.end.year(O),B.end.month(F),B.end.date(S),(0,c.default)(B.end).startOf("day")===B.end&&B.end.add(1,"day")),j.push(B)}return j}},{key:"solve",value:function(e,n,i){var r=void 0,o=void 0,s=void 0,l=void 0,u=!0,d=!1,h=void 0;try{for(var v,g=(0,a.default)(e);!(u=(v=g.next()).done);u=!0){var m=v.value;(void 0===s||s>m.start)&&(s=m.start),(void 0===l||l<m.end)&&(l=m.end),void 0===r&&m.color&&(r=m.color),void 0!==m.classes&&(void 0===o&&(o=[]),o=o.concat(m.classes))}}catch(t){d=!0,h=t}finally{try{!u&&g.return&&g.return()}finally{if(d)throw h}}void 0===n&&(n=s),void 0===i&&(i=l);var p=[new f({start:n,end:i,internal:!0})];e=t.$filter("filter")(e,function(t){return(void 0===t.start||t.start<i)&&(void 0===t.end||t.end>n)});var y=!0,w=!1,k=void 0;try{for(var b,M=(0,a.default)(e);!(y=(b=M.next()).done);y=!0){var _=b.value;_.start||(_.start=n),_.end||(_.end=i)}}catch(t){w=!0,k=t}finally{try{!y&&M.return&&M.return()}finally{if(w)throw k}}var C=t.$filter("orderBy")(e,function(t){return-t.getDuration()}),$=void 0,T=!0,x=!1,O=void 0;try{for(var F,S=(0,a.default)(C);!(T=(F=S.next()).done);T=!0){var j=F.value,R=p.slice();$=0;var P=!1,G=!1,D=!0,B=!1,W=void 0;try{for(var E,I=(0,a.default)(p);!(D=(E=I.next()).done);D=!0){var H=E.value;if(!G){if(j.end||j.start)if(j.end>H.start&&j.start<H.end){var A=H.clone();H.end=(0,c.default)(j.start),A.start=(0,c.default)(j.end),R.splice($+1,0,j.clone(),A),G=!0,P=!1}else!P&&j.start<H.end?(H.end=(0,c.default)(j.start),R.splice($+1,0,j.clone()),P=!0):P&&j.end>H.start&&(H.start=(0,c.default)(j.end),P=!1,G=!0);else R.splice($,0,j),G=!0,P=!1;$++}}}catch(t){B=!0,W=t}finally{try{!D&&I.return&&I.return()}finally{if(B)throw W}}p=R}}catch(t){x=!0,O=t}finally{try{!T&&S.return&&S.return()}finally{if(x)throw O}}return p=t.$filter("filter")(p,function(t){return!t.internal&&(void 0===t.start||t.start<i)&&(void 0===t.end||t.end>n)})}}]),t}()},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttCurrentDateManager=void 0;var r=n(0),a=i(r),o=n(1),s=i(o);e.default=function(){"ngInject";return d};var l=n(3),u=i(l),d=e.GanttCurrentDateManager=function(){function t(e){var n=this;(0,a.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 u.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 i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttColumnHeader=void 0;var r=n(127),a=i(r),o=n(0),s=i(o),l=n(132),u=i(l),d=n(131),c=i(d);e.default=function(){"ngInject";return h};var f=n(23),h=e.GanttColumnHeader=function(t){function e(t,n,i,r,o,l,d){(0,s.default)(this,e);var c=(0,u.default)(this,(e.__proto__||(0,a.default)(e)).call(this,t,n,r,o));return c.name=d,c.unit=i,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 i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttColumnsManager=void 0;var r=n(4),a=i(r),o=n(0),s=i(o),l=n(1),u=i(l);e.default=["GanttColumnGenerator","GanttColumnBuilder","GanttHeadersGenerator","$filter","ganttLayout","ganttBinarySearch",function(t,e,n,i,r,a){"ngInject";return f.GanttColumnGenerator=t,f.GanttHeadersGenerator=n,f.ganttBinarySearch=a,f.GanttColumnBuilder=e,f.ganttLayout=r,f.$filter=i,f}];var d=n(3),c=i(d),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,u.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"),i=this.gantt.side.isShown(),r=n!==i;r&&!n&&this.gantt.side.show(!1),this.gantt.rowsManager.updateTasksPosAndSize(),this.gantt.timespansManager.updateTimespansPosAndSize(),this.updateVisibleColumns(e),this.gantt.rowsManager.updateVisibleObjects();var a=this.gantt.options.value("currentDateValue");this.gantt.currentDateManager.setCurrentDate(a),r&&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 i=this.previousColumns.concat(this.columns,this.nextColumns),r=t.ganttBinarySearch.get(i,e,function(t){return t.date},!0);return void 0===r[0]?r[1]:r[0]}},{key:"getColumnByPosition",value:function(e,n){n||this.expandExtendedColumnsForPosition(e);var i=this.previousColumns.concat(this.columns,this.nextColumns),r=t.ganttBinarySearch.get(i,e,function(t){return t.left},!0);return void 0===r[0]?r[1]:r[0]}},{key:"updateColumnsWidths",value:function(e,n,i,r){var o=this.gantt.options.value("columnWidth"),s=this.gantt.options.value("expandToFit"),l=this.gantt.options.value("shrinkToFit");if(void 0===o||s||l){var u=this.gantt.getBodyAvailableWidth(),d=this.gantt.columnsManager.getLastColumn(!1);if(void 0!==d){var c=d.originalSize.left+d.originalSize.width;if(s&&c<u||l&&c>u||void 0===o){var f=u/c;t.ganttLayout.setColumnsWidthFactor(e,f);var h=!0,v=!1,g=void 0;try{for(var m,p=(0,a.default)(n);!(h=(m=p.next()).done);h=!0){var y=m.value;t.ganttLayout.setColumnsWidthFactor(y,f)}}catch(t){v=!0,g=t}finally{try{!h&&p.return&&p.return()}finally{if(v)throw g}}return i.splice(0,this.previousColumns.length),r.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 i=this.getFirstColumn(),r=i.date,a=this.getFirstColumn(!0);return(!a||a.left>e)&&(n=this.gantt.options.value("viewScale"),this.previousColumns=t.GanttColumnGenerator.generate(this.columnBuilder,r,void 0,n,this.getColumnsWidth(),-e,0,!0)),!0}if(e>this.gantt.width){var o=this.getLastColumn(),s=o.getDateByPosition(o.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(),i=void 0;n&&(i=n.date);var r=this.getLastColumn(),a=void 0;r&&(a=r.endDate);var o=void 0;if(i&&e<i){var s=this.getFirstColumn(!0);return(!s||s.date>e)&&(o=this.gantt.options.value("viewScale"),this.previousColumns=t.GanttColumnGenerator.generate(this.columnBuilder,i,e,o,this.getColumnsWidth(),void 0,0,!0)),!0}if(a&&e>=a){var l=this.getLastColumn(!0);return(!l||l.date<a)&&(o=this.gantt.options.value("viewScale"),this.nextColumns=t.GanttColumnGenerator.generate(this.columnBuilder,a,e,o,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"),i=void 0;if(void 0===n||n>0&&this.columns.length>=n)for(this.visibleColumns=t.$filter("ganttColumnLimit")(this.columns,this.gantt),this.visibleHeaders=[],i=0;i<this.headers.length;i++)this.visibleHeaders.push.apply(this.visibleHeaders,t.$filter("ganttColumnLimit")(this.headers[i],this.gantt));else this.visibleColumns=this.columns,this.visibleHeaders=this.headers;if(e){for(i=0;i<this.visibleColumns.length;i++)this.visibleColumns[i].updateView();for(i=0;i<this.visibleHeaders.length;i++){var r=this.visibleHeaders[i],o=!0,s=!1,l=void 0;try{for(var u,d=(0,a.default)(r);!(o=(u=d.next()).done);o=!0){u.value.updateView()}}catch(t){s=!0,l=t}finally{try{!o&&d.return&&d.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 i=this.gantt.options.value("viewScale");i=i.trim(),"s"===i.charAt(i.length-1)&&(i=i.substring(0,i.length-1));var r=void 0,a=void 0;i&&(a=i.split(" ")),r=a&&a.length>1?a[a.length-1]:i,["millisecond","second","minute","hour"].indexOf(r)>-1?e=this.defaultDayHeadersFormats[t]:["month","quarter","year"].indexOf(r)>-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 i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttObjectModel=void 0;var r=n(0),a=i(r),o=n(1),s=i(o);e.default=["ganttUtils",function(t){"ngInject";return d.ganttUtils=t,d}];var l=n(3),u=i(l),d=e.GanttObjectModel=function(){function t(e){(0,a.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||u.default.isMoment(e.from)||(e.from=(0,u.default)(e.from)),void 0===e.to||u.default.isMoment(e.to)||(e.to=(0,u.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||u.default.isMoment(e.from)||(e.from=(0,u.default)(e.from)),void 0===e.to||u.default.isMoment(e.to)||(e.to=(0,u.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||u.default.isMoment(e.from)||(e.from=(0,u.default)(e.from)),void 0===e.to||u.default.isMoment(e.to)||(e.to=(0,u.default)(e.to)),this.api.timespans.raise.clean(e)}}]),t}()},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0}),e.GanttRowsManager=void 0;var r=n(5),a=i(r),o=n(4),s=i(o),l=n(0),u=i(l),d=n(1),c=i(d);e.default=["GanttRow","ganttArrays","$filter","$timeout",function(t,e,n,i){"ngInject";return m.GanttRow=t,m.$filter=n,m.$timeout=i,m.ganttArrays=e,m}];var f=n(2),h=i(f),v=n(3),g=i(v),m=e.GanttRowsManager=function(){function t(e){var n=this;(0,u.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,i){return t.$filter("filter")(e,n,i)},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 i=this.gantt.scroll.isVScrollbarVisible();this.gantt.$scope.$watchGroup(["maxHeight","gantt.rowsManager.visibleRows.length"],function(e,r){e!==r&&t.$timeout(function(){var t=n.gantt.scroll.isVScrollbarVisible();t!==i&&(i=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 i=void 0,r=void 0,a=void 0,o=!1;if(this.gantt.objectModel.cleanRow(e),e.id in this.rowsMap){if(i=this.rowsMap[e.id],n&&(this.rows.push(i),this.sortedRows.push(i),this.filteredRows.push(i),this.customFilteredRows.push(i),this.visibleRows.push(i)),i.model===e)return;var s=t.ganttArrays.getRemovedIds(e.tasks,i.model.tasks);for(r=0,a=s.length;r<a;r++){var l=s[r];i.removeTask(l)}i.model=e,o=!0}else i=new t.GanttRow(this,e),this.rowsMap[e.id]=i,this.rows.push(i),this.sortedRows.push(i),this.filteredRows.push(i),this.customFilteredRows.push(i),this.visibleRows.push(i);if(void 0!==e.tasks&&e.tasks.length>0){for(r=0,a=e.tasks.length;r<a;r++){var u=e.tasks[r];i.addTask(u)}i.updateVisibleTasks()}if(o?this.gantt.api.rows.raise.change(i):this.gantt.api.rows.raise.add(i),!o){var d=this.gantt.$scope.$watchCollection(function(){return e.tasks},function(e,n){if(e!==n){var r=void 0,a=void 0,o=t.ganttArrays.getRemovedIds(e,n);for(r=0,a=o.length;r<a;r++){var s=o[r];i.removeTask(s)}if(void 0!==e){for(r=0,a=e.length;r<a;r++){var l=e[r];i.addTask(l)}i.updateVisibleTasks()}}});this.rowsTaskWatchers.push(d)}return o}},{key:"removeRow",value:function(e){if(e in this.rowsMap){delete this.rowsMap[e];var n=void 0,i=t.ganttArrays.indexOfId(this.rows,e,["model","id"]);if(i>-1){n=this.rows.splice(i,1)[0];var r=this.rowsTaskWatchers.splice(i,1)[0];r&&r()}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 i,r=(0,s.default)(this.rowsTaskWatchers);!(t=(i=r.next()).done);t=!0){(0,i.value)()}}catch(t){e=!0,n=t}finally{try{!t&&r.return&&r.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 i=t.$filter("orderBy");this.sortedRows=i(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,i=!1,r=void 0;try{for(var a,o=(0,s.default)(this.customRowSorters);!(n=(a=o.next()).done);n=!0){e=(0,a.value)(e)}}catch(t){i=!0,r=t}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}return e}},{key:"applySort",value:function(){var t=this.gantt.$scope.data;t.splice(0,t.length);var e=[],n=!0,i=!1,r=void 0;try{for(var a,o=(0,s.default)(this.sortedRows);!(n=(a=o.next()).done);n=!0){var l=a.value;t.push(l.model),e.push(l)}}catch(t){i=!0,r=t}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}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 i=this.rows.indexOf(n),r=this.rows.indexOf(e);i>-1&&r>-1&&i!==r&&(t.ganttArrays.moveToIndex(this.rows,r,i),t.ganttArrays.moveToIndex(this.rowsTaskWatchers,r,i),t.ganttArrays.moveToIndex(this.gantt.$scope.data,r,i),this.gantt.api.rows.raise.change(e),this.gantt.api.rows.raise.move(e,r,i),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,a.default)(e))&&(e={model:e});var n=this.gantt.options.value("filterRowComparator");if("function"==typeof n){var i=this.gantt;n=function(t,e){return i.options.value("filterRowComparator")(t,e)}}this.filteredRows=this.filterImpl(this.sortedRows,e,n)}else this.filteredRows=this.sortedRows.slice(0);var r=!h.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),r&&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,i=!1,r=void 0;try{for(var a,o=(0,s.default)(this.customRowFilters);!(n=(a=o.next()).done);n=!0){e=(0,a.value)(e)}}catch(t){i=!0,r=t}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}return e}},{key:"setFilterImpl",value:function(t){this.filterImpl=t||this._defaultFilterImpl}},{key:"updateVisibleTasks",value:function(){var t=[],e=[],n=[],i=[],r=!0,a=!1,o=void 0;try{for(var l,u=(0,s.default)(this.rows);!(r=(l=u.next()).done);r=!0){var d=l.value;t=t.concat(d.filteredTasks),d.updateVisibleTasks(),e=e.concat(d.filteredTasks),i=i.concat(d.visibleTasks),n=n.concat(d.tasks)}}catch(t){a=!0,o=t}finally{try{!r&&u.return&&u.return()}finally{if(a)throw o}}this.gantt.api.tasks.raise.displayed(n,e,i),!h.default.equals(t,e)&&this.gantt.api.tasks.raise.filter(n,e,i)}},{key:"updateTasksPosAndSize",value:function(){var t=!0,e=!1,n=void 0;try{for(var i,r=(0,s.default)(this.rows);!(t=(i=r.next()).done);t=!0){i.value.updateTasksPosAndSize()}}catch(t){e=!0,n=t}finally{try{!t&&r.return&&r.return()}finally{if(e)throw n}}}},{key:"getExpandedFrom",value:function(t){t=t?(0,g.default)(t):t;var e=t,n=!0,i=!1,r=void 0;try{for(var a,o=(0,s.default)(this.rows);!(n=(a=o.next()).done);n=!0){var l=a.value;(void 0===e||e>l.from)&&(e=l.from)}}catch(t){i=!0,r=t}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}return e&&(!t||e<t)?e:t}},{key:"getExpandedTo",value:function(t){t=t?(0,g.default)(t):t;var e=t,n=!0,i=!1,r=void 0;try{for(var a,o=(0,s.default)(this.rows);!(n=(a=o.next()).done);n=!0){var l=a.value;(void 0===e||e<l.to)&&(e=l.to)}}catch(t){i=!0,r=t}finally{try{!n&&o.return&&o.return()}finally{if(i)throw r}}var u=this.gantt.options.value("toDate");return e&&(!u||e>u)?e:t}},{key:"getDefaultFrom",value:f