UNPKG

angular-gantt

Version:

Gantt chart component for AngularJS

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