","
","",t.label,"
","",function(t,e,i){var n,r="";if(!t)return;n=[{key:"data-item-id",value:t.key},{key:"class",value:"gantt_resource_amount_input"}],i&&n.push({key:"disabled",value:"disabled"});t.options?r+=a.getHtmlSelect(t.options,n,e):(n[n.length]={key:"value",value:e||""},r+=a.getHtmlInput(n));return r}(t,u.value,!u.value),"
","",t.unit,"
",""].join(""))}),f.innerHTML=g,f.style.zoom="1",f._offsetSizes=f.offsetHeight,f.style.zoom="",t.resizeLightbox(),t._center_lightbox(t.getLightbox())},l.prototype.get_value=function(t,e,i){var r=d(i),a=[],s=c(!0),l=c(!1),u=h(i),f=e[i.map_to]||[],g={};u.filterApplied&&f&&f.length>0&&n.forEach(f,function(t){g[String(t.resource_id)]=t});for(var _=r.querySelectorAll(s),p=r.querySelectorAll(l),v=0;v",n=t.locale.labels[t.config.duration_unit+"s"],r=e.single_date?" style='display:none'":"",a=e.readonly?" disabled='disabled'":"",s=" "+n+"
";return""+i+" "+s+"
"},r.prototype.set_value=function(e,i,n,r){var o,l,c,d,h=r,u=e.getElementsByTagName("select"),f=e.getElementsByTagName("input"),g=f[1],_=[f[0],f[2]],p=e.getElementsByTagName("span")[0],v=r._time_format_order;function m(){var i=a.call(t,e,r),o=s.call(t,e,r),l=t.calculateEndDate({start_date:i,duration:o,task:n});p.innerHTML=t.templates.task_date(l)}function y(t){var e=g.value;e=parseInt(e,10),window.isNaN(e)&&(e=0),(e+=t)<1&&(e=1),g.value=e,m()}_[0].onclick=t.bind(function(){y(-1*t.config.duration_step)},this),_[1].onclick=t.bind(function(){y(1*t.config.duration_step)},this),u[0].onchange=m,u[1].onchange=m,u[2].onchange=m,u[3]&&(u[3].onchange=m),g.onkeydown=t.bind(function(e){var i;return(i=(e=e||window.event).charCode||e.keyCode||e.which)==t.constants.KEY_CODES.DOWN?(y(-1*t.config.duration_step),!1):i==t.constants.KEY_CODES.UP?(y(1*t.config.duration_step),!1):void window.setTimeout(m,1)},this),g.onchange=t.bind(m,this),"string"==typeof(o=t._resolve_default_mapping(r))&&(o={start_date:o}),l=n[o.start_date]||new Date,c=n[o.end_date]||t.calculateEndDate({start_date:l,duration:1,task:n}),d=Math.round(n[o.duration])||t.calculateDuration({start_date:l,end_date:c,task:n}),t.form_blocks._fill_lightbox_select(u,0,l,v,h),g.value=d,m()},r.prototype.get_value=function(e,i,n){var r=a(e,n),o=s(e),l=t.calculateEndDate({start_date:r,duration:o,task:i});return"string"==typeof t._resolve_default_mapping(n)?r:{start_date:r,end_date:l,duration:o}},r.prototype.focus=function(e){t._focus(e.getElementsByTagName("select")[0])},r}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(t){var e="";if(t.options&&t.options.length)for(var i=0;i"+t.options[i].label+"";return e+="
"},r.prototype.set_value=function(t,e,i,n){var r;n.options&&n.options.length&&(r=t.querySelector("input[type=radio][value='"+e+"']")||t.querySelector("input[type=radio][value='"+n.default_value+"']"))&&(!t._dhx_onchange&&n.onchange&&(t.onchange=n.onchange,t._dhx_onchange=!0),r.checked=!0)},r.prototype.get_value=function(t,e){var i=t.querySelector("input[type=radio]:checked");return i?i.value:""},r.prototype.focus=function(e){t._focus(e.querySelector("input[type=radio]"))},r}},function(t,e,i){var n=i(3),r=i(2);t.exports=function(t){var e=i(5)(t);function a(){return e.apply(this,arguments)||this}return r(a,e),a.prototype.render=function(t){var e="";if(t.options&&t.options.length)for(var i=0;i"+t.options[i].label+"";return e+="
"},a.prototype.set_value=function(t,e,i,r){var a=Array.prototype.slice.call(t.querySelectorAll("input[type=checkbox]"));!t._dhx_onchange&&r.onchange&&(t.onchange=r.onchange,t._dhx_onchange=!0),n.forEach(a,function(t){t.checked=!!e&&e.indexOf(t.value)>=0})},a.prototype.get_value=function(t){return n.arrayMap(Array.prototype.slice.call(t.querySelectorAll("input[type=checkbox]:checked")),function(t){return t.value})},a.prototype.focus=function(e){t._focus(e.querySelector("input[type=checkbox]"))},a}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(e){var i=t.form_blocks.getTimePicker.call(this,e),n="";return n+=i,e.single_date?(i=t.form_blocks.getTimePicker.call(this,e,!0),n+=""):n+=" – ",n+=i,n+="
"},r.prototype.set_value=function(e,i,n,r){var a=r,s=e.getElementsByTagName("select"),o=r._time_format_order;if(a.auto_end_date)for(var l=function(){h=new Date(s[o[2]].value,s[o[1]].value,s[o[0]].value,0,0),u=t.calculateEndDate({start_date:h,duration:1,task:n}),t.form_blocks._fill_lightbox_select(s,o.size,u,o,a)},c=0;c<4;c++)s[c].onchange=l;var d=t._resolve_default_mapping(r);"string"==typeof d&&(d={start_date:d});var h=n[d.start_date]||new Date,u=n[d.end_date]||t.calculateEndDate({start_date:h,duration:1,task:n});t.form_blocks._fill_lightbox_select(s,0,h,o,a),t.form_blocks._fill_lightbox_select(s,o.size,u,o,a)},r.prototype.get_value=function(e,i,n){var r,a=e.getElementsByTagName("select"),s=n._time_format_order,o=t.defined(s[3]);function l(t,e,i,n){var r,a=0,s=0;return n=n||0,i&&(r=parseInt(t[e[3]+n].value,10),a=Math.floor(r/60),s=r%60),new Date(t[e[2]+n].value,t[e[1]+n].value,t[e[0]+n].value,a,s)}return r=l(a,s,o),"string"==typeof t._resolve_default_mapping(n)?r:{start_date:r,end_date:function(e,i,n,r){var a=l(e,i,n,i.size);return a<=r?t.date.add(r,t._get_timepicker_step(),"minute"):a}(a,s,o,r)}},r.prototype.focus=function(e){t._focus(e.getElementsByTagName("select")[0])},r}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(t){return""},r.prototype.set_value=function(e,i){t.form_blocks.textarea._get_input(e).value=i||""},r.prototype.get_value=function(e){return t.form_blocks.textarea._get_input(e).value},r.prototype.focus=function(e){var i=t.form_blocks.textarea._get_input(e);t._focus(i,!0)},r.prototype._get_input=function(t){return t.querySelector("textarea")},r}},function(t,e,i){var n=i(2);t.exports=function(t){var e=i(5)(t);function r(){return e.apply(this,arguments)||this}return n(r,e),r.prototype.render=function(t){return""},r.prototype.set_value=function(t,e){t.innerHTML=e||""},r.prototype.get_value=function(t){return t.innerHTML||""},r.prototype.focus=function(){},r}},function(t,e,i){t.exports=function(t){var e=i(1),n=i(3),r=i(57)(t),a=i(56)(t),s=i(55)(t),o=i(10)(t),l=i(54)(t),c=i(53)(t),d=i(52)(t),h=i(51)(t),u=i(50)(t);function f(e,i){var n,r,a="";for(r=0;r"+t.locale.labels[n]+"
";return a}function g(e,i,n){var r,a,s,o,l,c,d="";switch(n.timeFormat[i]){case"%Y":for(e._time_format_order[2]=i,e._time_format_order.size++,e.year_range&&(isNaN(e.year_range)?e.year_range.push&&(s=e.year_range[0],o=e.year_range[1]):r=e.year_range),r=r||10,a=a||Math.floor(r/2),s=s||n.date.getFullYear()-a,o=o||s+r,l=s;l"+l+"";break;case"%m":for(e._time_format_order[1]=i,e._time_format_order.size++,l=0;l<12;l++)d+="";break;case"%d":for(e._time_format_order[0]=i,e._time_format_order.size++,l=1;l<32;l++)d+="";break;case"%H:%i":for(e._time_format_order[3]=i,e._time_format_order.size++,l=n.first,c=n.date.getDate(),e._time_values=[];l"+t.templates.time_picker(n.date)+"",e._time_values.push(l),n.date.setTime(n.date.valueOf()+60*t._get_timepicker_step()*1e3),l=24*(n.date.getDate()!=c?1:0)*60+60*n.date.getHours()+n.date.getMinutes()}return d}t._lightbox_methods={},t._lightbox_template="
",t.$services.getService("state").registerProvider("lightbox",function(){return{lightbox:t._lightbox_id}}),t.showLightbox=function(e){if(e&&!t.isReadonly(this.getTask(e))&&this.callEvent("onBeforeLightbox",[e])){var i=this.getTask(e),n=this.getLightbox(this.getTaskType(i.type));this._center_lightbox(n),this.showCover(),this._fill_lightbox(e,n),this._waiAria.lightboxVisibleAttr(n),this.callEvent("onLightbox",[e])}},t._get_timepicker_step=function(){if(this.config.round_dnd_dates){var e;if(function(t){var e=t.$ui.getView("timeline");return!(!e||!e.isVisible())}(this)){var i=t.getScale();e=n.getSecondsInUnit(i.unit)*i.step/60}return(!e||e>=1440)&&(e=this.config.time_step),e}return this.config.time_step},t.getLabel=function(t,e){for(var i=this._get_typed_lightbox_config(),n=0;n"+this.locale.labels["button_"+t[i].button]+"
"),this.config.wide_form&&(e+=""),e+="
"+n.render.call(this,t[i]),e+="
"}}return e},t.resizeLightbox=function(){if(this._lightbox){var t=this._lightbox.childNodes[1];t.style.height="0px",t.style.height=t.scrollHeight+"px",this._lightbox.style.height=t.scrollHeight+this.config.lightbox_additional_height+"px",t.style.height=t.scrollHeight+"px"}},t._center_lightbox=function(t){if(t){t.style.display="block";var e=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,i=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,n=window.innerHeight||document.documentElement.clientHeight;t.style.top=e?Math.round(e+Math.max((n-t.offsetHeight)/2,0))+"px":Math.round(Math.max((n-t.offsetHeight)/2,0)+9)+"px",document.documentElement.scrollWidth>document.body.offsetWidth?t.style.left=Math.round(i+(document.body.offsetWidth-t.offsetWidth)/2)+"px":t.style.left=Math.round((document.body.offsetWidth-t.offsetWidth)/2)+"px"}},t.showCover=function(){if(!this._cover){this._cover=document.createElement("DIV"),this._cover.className="gantt_cal_cover";var t=void 0!==document.height?document.height:document.body.offsetHeight,e=document.documentElement?document.documentElement.scrollHeight:0;this._cover.style.height=Math.max(t,e)+"px",document.body.appendChild(this._cover)}},t._init_lightbox_events=function(){t.lightbox_events={},t.lightbox_events.gantt_save_btn=function(){t._save_lightbox()},t.lightbox_events.gantt_delete_btn=function(){t.callEvent("onLightboxDelete",[t._lightbox_id])&&(t.isTaskExists(t._lightbox_id)?t.$click.buttons.delete(t._lightbox_id):t.hideLightbox())},t.lightbox_events.gantt_cancel_btn=function(){t._cancel_lightbox()},t.lightbox_events.default=function(i,n){if(n.getAttribute("data-dhx-button"))t.callEvent("onLightboxButton",[n.className,n,i]);else{var r,a,s=e.getClassName(n);if(-1!=s.indexOf("gantt_custom_button"))if(-1!=s.indexOf("gantt_custom_button_"))for(r=n.parentNode.getAttribute("data-index"),a=n;a&&-1==e.getClassName(a).indexOf("gantt_cal_lsection");)a=a.parentNode;else r=n.getAttribute("data-index"),a=n.parentNode,n=n.firstChild;var o=t._get_typed_lightbox_config();r&&(r*=1,t.form_blocks[o[1*r].type].button_click(r,n,a,a.nextSibling))}},this.event(t.getLightbox(),"click",function(i){var n=(i=i||window.event).target?i.target:i.srcElement,r=e.getClassName(n);return r||(n=n.previousSibling,r=e.getClassName(n)),n&&r&&0===r.indexOf("gantt_btn_set")&&(n=n.firstChild,r=e.getClassName(n)),!(!n||!r)&&(t.defined(t.lightbox_events[n.className])?t.lightbox_events[n.className]:t.lightbox_events.default)(i,n)}),t.getLightbox().onkeydown=function(i){var n=i||window.event,r=i.target||i.srcElement,a=e.getClassName(r).indexOf("gantt_btn_set")>-1;switch((i||n).keyCode){case t.constants.KEY_CODES.SPACE:if((i||n).shiftKey)return;a&&r.click&&r.click();break;case t.keys.edit_save:if((i||n).shiftKey)return;a&&r.click?r.click():t._save_lightbox();break;case t.keys.edit_cancel:t._cancel_lightbox()}}},t._cancel_lightbox=function(){var e=this.getLightboxValues();this.callEvent("onLightboxCancel",[this._lightbox_id,e.$new]),t.isTaskExists(e.id)&&e.$new&&this.silent(function(){t.$data.tasksStore.removeItem(e.id),t._update_flags(e.id,null)}),this.refreshData(),this.hideLightbox()},t._save_lightbox=function(){var t=this.getLightboxValues();this.callEvent("onLightboxSave",[this._lightbox_id,t,!!t.$new])&&(t.$new?(delete t.$new,this.addTask(t)):this.isTaskExists(t.id)&&(this.mixin(this.getTask(t.id),t,!0),this.refreshTask(t.id),this.updateTask(t.id)),this.refreshData(),this.hideLightbox())},t._resolve_default_mapping=function(t){var e=t.map_to;return{time:!0,time_optional:!0,duration:!0,duration_optional:!0}[t.type]&&("auto"==t.map_to?e={start_date:"start_date",end_date:"end_date",duration:"duration"}:"string"==typeof t.map_to&&(e={start_date:t.map_to})),e},t.getLightboxValues=function(){var e={};t.isTaskExists(this._lightbox_id)&&(e=this.mixin({},this.getTask(this._lightbox_id)));for(var i=this._get_typed_lightbox_config(),n=0;n0&&(o+=" "),(a=g(e,r,c))&&(s=t._waiAria.lightboxSelectAttrString(c.timeFormat[r]),o+="");return o},_fill_lightbox_select:function(e,i,n,r){if(e[i+r[0]].value=n.getDate(),e[i+r[1]].value=n.getMonth(),e[i+r[2]].value=n.getFullYear(),t.defined(r[3])){var a=60*n.getHours()+n.getMinutes();a=Math.round(a/t._get_timepicker_step())*t._get_timepicker_step();var s=e[i+r[3]];s.value=a,s.setAttribute("data-value",a)}},template:new r,textarea:new a,select:new o,time:new s,duration:new d,parent:new h,radio:new c,checkbox:new l,resources:new u},t._is_lightbox_timepicker=function(){for(var t=this._get_typed_lightbox_config(),e=0;etask="+e+" of gantt.isUnscheduledTask. Task object was expected"),!!e.unscheduled||!e.start_date},t._isAllowedUnscheduledTask=function(e){return!(!e.unscheduled||!t.config.show_unscheduled)},t.isTaskVisible=function(e){if(!this.isTaskExists(e))return!1;var i=this.getTask(e),n=i.start_date?i.start_date.valueOf():null,r=i.end_date?i.end_date.valueOf():null;return!!(t._isAllowedUnscheduledTask(i)||n&&r&&n<=this._max_date.valueOf()&&r>=this._min_date.valueOf())&&!!(t.getGlobalTaskIndex(e)>=0)},t._defaultTaskDate=function(e,i){var n=!(!i||i==this.config.root_id)&&this.getTask(i),r="";if(n)r=n.start_date;else{var a=this.getTaskByIndex(0);r=a?a.start_date?a.start_date:a.end_date?this.calculateEndDate({start_date:a.end_date,duration:-this.config.duration_step}):"":this.config.start_date||this.getState().min_date}return t.assert(r,"Invalid dates"),new Date(r)},t._set_default_task_timing=function(e){e.start_date=e.start_date||t._defaultTaskDate(e,this.getParent(e)),e.duration=e.duration||this.config.duration_step,e.end_date=e.end_date||this.calculateEndDate(e)},t.createTask=function(e,i,n){(e=e||{},t.defined(e.id)||(e.id=t.uid()),e.start_date||(e.start_date=t._defaultTaskDate(e,i)),void 0===e.text&&(e.text=t.locale.labels.new_task),void 0===e.duration&&(e.duration=1),i)&&(this.setParent(e,i,!0),this.getTask(i).$open=!0);return this.callEvent("onTaskCreated",[e])?(this.config.details_on_create?(e.$new=!0,this.silent(function(){t.$data.tasksStore.addItem(e,n)}),this.selectTask(e.id),this.refreshData(),this.showLightbox(e.id)):this.addTask(e,i,n)&&(this.showTask(e.id),this.selectTask(e.id)),e.id):null},t._update_flags=function(e,i){var n=t.$data.tasksStore;void 0===e?(this._lightbox_id=null,n.silent(function(){n.unselect()}),this._tasks_dnd&&this._tasks_dnd.drag&&(this._tasks_dnd.drag.id=null)):(this._lightbox_id==e&&(this._lightbox_id=i),n.getSelectedId()==e&&n.silent(function(){n.unselect(e),n.select(i)}),this._tasks_dnd&&this._tasks_dnd.drag&&this._tasks_dnd.drag.id==e&&(this._tasks_dnd.drag.id=i))},t._get_task_timing_mode=function(t,e){var i=this.getTaskType(t.type),n={type:i,$no_start:!1,$no_end:!1};return e||i!=t.$rendered_type?(i==this.config.types.project?n.$no_end=n.$no_start=!0:i!=this.config.types.milestone&&(n.$no_end=!(t.end_date||t.duration),n.$no_start=!t.start_date,this._isAllowedUnscheduledTask(t)&&(n.$no_end=n.$no_start=!1)),n):(n.$no_start=t.$no_start,n.$no_end=t.$no_end,n)},t._init_task_timing=function(e){var i=t._get_task_timing_mode(e,!0),n=e.$rendered_type!=i.type,r=i.type;n&&(e.$no_start=i.$no_start,e.$no_end=i.$no_end,e.$rendered_type=i.type),n&&r!=this.config.types.milestone&&r==this.config.types.project&&this._set_default_task_timing(e),r==this.config.types.milestone&&(e.end_date=e.start_date),e.start_date&&e.end_date&&(e.duration=this.calculateDuration(e)),e.end_date||(e.end_date=e.start_date),e.duration=e.duration||0},t.isSummaryTask=function(e){t.assert(e&&e instanceof Object,"Invalid argument task="+e+" of gantt.isSummaryTask. Task object was expected");var i=t._get_task_timing_mode(e);return!(!i.$no_end&&!i.$no_start)},t.resetProjectDates=function(t){var e=this._get_task_timing_mode(t);if(e.$no_end||e.$no_start){var i=this.getSubtaskDates(t.id);this._assign_project_dates(t,i.start_date,i.end_date)}},t.getSubtaskDuration=function(e){var i=0,n=void 0!==e?e:t.config.root_id;return this.eachTask(function(e){this.getTaskType(e.type)==t.config.types.project||this.isUnscheduledTask(e)||(i+=e.duration)},n),i},t.getSubtaskDates=function(e){var i=null,n=null,r=void 0!==e?e:t.config.root_id;return this.eachTask(function(e){this.getTaskType(e.type)==t.config.types.project||this.isUnscheduledTask(e)||(e.start_date&&!e.$no_start&&(!i||i>e.start_date.valueOf())&&(i=e.start_date.valueOf()),e.end_date&&!e.$no_end&&(!n||n=+i.min_date&&+o<=+i.max_date)s=Math.floor(t.columnIndexByDate(o)),i.trace_x[s]||(s-=1,i.rtl&&(s=0)),a=new Date(i.trace_x[s]),r=t.date.add(a,l,c);else{for(s=Math.floor(t.columnIndexByDate(o)),r=t.date[c+"_start"](new Date(i.min_date)),i.trace_x[s]&&(r=t.date[c+"_start"](i.trace_x[s]));+r<+o;){var d=(r=t.date[c+"_start"](t.date.add(r,l,c))).getTimezoneOffset();r=t._correct_dst_change(r,d,r,c),t.date[c+"_start"]&&(r=t.date[c+"_start"](r))}a=t.date.add(r,-1*l,c)}return e.dir&&"future"==e.dir?r:e.dir&&"past"==e.dir?a:Math.abs(o-a)0},_is_work_hour:function(t){for(var e=this._getWorkHours(t),i=t.getHours(),n=0;n=e[n]&&is.valueOf(),this._isWorkTime(a,i)&&((h||u&&f)&&(o=r[i+"_start"](new Date(a)),l=r.add(o,n,i)),h?(h=!1,d=this._nextDate(o,i,n),c+=(l.valueOf()-a.valueOf())/(l.valueOf()-o.valueOf())):u&&f?(u=!1,c+=(s.valueOf()-a.valueOf())/(l.valueOf()-o.valueOf())):c++),a=d;return c},_getHoursPerDay:function(t){for(var e=this._getWorkHours(t),i=0,n=0;n=0?1:-1;return this._calculateEndDate(e,i,n,r*a)},_calculateEndDate:function(t,e,i,n){if(!i)return!1;var r=new Date(t),a=0;for(n=n||1,e=Math.abs(1*e);a0?new Date(s.valueOf()-1):new Date(s.valueOf()+1),i)&&a++,r=s}return r},getClosestWorkTime:function(){var t=this.argumentsHelper.getClosestWorkTimeArguments.apply(this.argumentsHelper,arguments);return this._getClosestWorkTime(t)},_getClosestWorkTime:function(t){if(this._isWorkTime(t.date,t.unit))return t.date;var e=t.unit,i=this.$gantt.date[e+"_start"](new Date(t.date)),n=new Date(i),r=new Date(i),a=!0,s=0,o="any"==t.dir||!t.dir,l=1;"past"==t.dir&&(l=-1);for(var c=this._getUnitOrder(e),d=this.units[c-1];!this._isWorkTime(i,e);){if(d&&!this._isWorkTime(i,d)){var h=this.$gantt.copy(t);return h.date=i,h.unit=d,this._getClosestWorkTime(h)}o&&(i=a?n:r,l*=-1);var u=i.getTimezoneOffset();if(i=this.$gantt.date.add(i,l,e),i=this.$gantt._correct_dst_change(i,u,l,e),this.$gantt.date[e+"_start"]&&(i=this.$gantt.date[e+"_start"](i)),o&&(a?n=i:r=i),a=!a,++s>3e3)return this.$gantt.assert(!1,"Invalid working time check"),!1}return i!=r&&"past"!=t.dir||(i=this.$gantt.date.add(i,1,e)),i}},t.exports=a},function(t,e,i){var n=i(0),r=i(21),a=i(64);function s(t){this.$gantt=t,this._calendars={}}s.prototype={_calendars:{},_getDayHoursForMultiple:function(t,e){for(var i=[],n=!0,r=0,a=this.$gantt.date.day_start(new Date(e)),s=0;s<24;s++)t.reduce(function(t,e){return t&&e._is_work_hour(a)},!0)?(n?(i[r]=s,i[r+1]=s+1,r+=2):i[r-1]+=1,n=!1):n||(n=!0),a=this.$gantt.date.add(a,1,"hour");return i.length||(i=!1),i},mergeCalendars:function(){var t,e=this.createCalendar(),i=[],n=Array.prototype.slice.call(arguments,0);e.worktime.hours=[0,24],e.worktime.dates={};var r=this.$gantt.date.day_start(new Date(2592e5));for(t=0;t<7;t++)i=this._getDayHoursForMultiple(n,r),e.worktime.dates[t]=i,r=this.$gantt.date.add(r,1,"day");for(var a=0;a1e4&&(i=this._getDayHoursForMultiple(n,new Date(+s)),e.worktime.dates[s]=i);return e},_convertWorktimeSettings:function(t){var e=t.days;if(e){t.dates=t.dates||{};for(var i=0;i=3?(r=i,a=n):"string"==typeof arguments[1]?r=arguments[1]:"function"==typeof arguments[1]&&(a=arguments[1]),this._load_type=r,this.callEvent("onLoadStart",[e,r]),this.ajax.get(e,t.bind(function(t){this.on_load(t,r),this.callEvent("onLoadEnd",[e,r]),"function"==typeof a&&a.call(this)},this))},t.parse=function(t,e){this.on_load({xmlDoc:{responseText:t}},e)},t.serialize=function(t){return this[t=t||"json"].serialize()},t.on_load=function(t,e){this.callEvent("onBeforeParse",[]),e||(e="json"),this.assert(this[e],"Invalid data type:'"+e+"'");var i=t.xmlDoc.responseText,n=this[e].parse(i,t);this._process_loading(n)},t._process_loading=function(t){t.collections&&this._load_collections(t.collections),this.$data.tasksStore.parse(t.data);var e=t.links||(t.collections?t.collections.links:[]);if(this.$data.linksStore.parse(e),this.callEvent("onParse",[]),this.render(),this.config.initial_scroll){var i=this.getTaskByIndex(0),n=i?i.id:this.config.root_id;this.isTaskExists(n)&&this.showTask(n)}},t._load_collections=function(t){var e=!1;for(var i in t)if(t.hasOwnProperty(i)){e=!0;var n=t[i],r=this.serverList[i];if(!r)continue;r.splice(0,r.length);for(var a=0;a"},_copyObject:function(t){return""},serialize:function(){for(var e=[],i=[],n=t.json.serialize(),r=0,a=n.data.length;r"+e.join("")+""+i.join("")+""}},t.oldxml={parse:function(e,i){i=t.xml._getXML(e,i,"projects");for(var n={collections:{links:[]}},r=n.data=[],a=t.ajax.xpath("//task",i),s=0;s","gm"),i=new RegExp(" +","gm");function n(t){return(t+"").replace(e," ").replace(i," ")}var r=new RegExp("'","gm");function a(t){return(t+"").replace(r,"'")}for(var s in t._waiAria={getAttributeString:function(t){var e=[" "];for(var i in t){var r=a(n(t[i]));e.push(i+"='"+r+"'")}return e.push(" "),e.join(" ")},getTimelineCellAttr:function(e){return t._waiAria.getAttributeString({"aria-label":e})},_taskCommonAttr:function(e,i){e.start_date&&e.end_date&&(i.setAttribute("aria-label",n(t.templates.tooltip_text(e.start_date,e.end_date,e))),t.isReadonly(e)&&i.setAttribute("aria-readonly",!0),e.$dataprocessor_class&&i.setAttribute("aria-busy",!0),i.setAttribute("aria-selected",t.getState().selected_task==e.id||t.isSelectedTask&&t.isSelectedTask(e.id)?"true":"false"))},setTaskBarAttr:function(e,i){this._taskCommonAttr(e,i),!t.isReadonly(e)&&t.config.drag_move&&(e.id!=t.getState().drag_id?i.setAttribute("aria-grabbed",!1):i.setAttribute("aria-grabbed",!0))},taskRowAttr:function(e,i){this._taskCommonAttr(e,i),!t.isReadonly(e)&&t.config.order_branch&&i.setAttribute("aria-grabbed",!1),i.setAttribute("role","row"),i.setAttribute("aria-level",e.$level),t.hasChild(e.id)&&i.setAttribute("aria-expanded",e.$open?"true":"false")},linkAttr:function(e,i){var r=t.config.links,a=e.type==r.finish_to_start||e.type==r.start_to_start,s=e.type==r.start_to_start||e.type==r.start_to_finish,o=t.locale.labels.link+" "+t.templates.drag_link(e.source,s,e.target,a);i.setAttribute("aria-label",n(o)),t.isReadonly(e)&&i.setAttribute("aria-readonly",!0)},gridSeparatorAttr:function(t){t.setAttribute("role","separator")},lightboxHiddenAttr:function(t){t.setAttribute("aria-hidden","true")},lightboxVisibleAttr:function(t){t.setAttribute("aria-hidden","false")},lightboxAttr:function(t){t.setAttribute("role","dialog"),t.setAttribute("aria-hidden","true"),t.firstChild.setAttribute("role","heading")},lightboxButtonAttrString:function(e){return this.getAttributeString({role:"button","aria-label":t.locale.labels[e],tabindex:"0"})},lightboxHeader:function(t,e){t.setAttribute("aria-label",e)},lightboxSelectAttrString:function(e){var i="";switch(e){case"%Y":i=t.locale.labels.years;break;case"%m":i=t.locale.labels.months;break;case"%d":i=t.locale.labels.days;break;case"%H:%i":i=t.locale.labels.hours+t.locale.labels.minutes}return t._waiAria.getAttributeString({"aria-label":i})},lightboxDurationInputAttrString:function(e){return this.getAttributeString({"aria-label":t.locale.labels.column_duration,"aria-valuemin":"0"})},gridAttrString:function(){return[" role='treegrid'",t.config.multiselect?"aria-multiselectable='true'":"aria-multiselectable='false'"," "].join(" ")},gridScaleRowAttrString:function(){return"role='row'"},gridScaleCellAttrString:function(e,i){var n="";if("add"==e.name)n=this.getAttributeString({role:"button","aria-label":t.locale.labels.new_task});else{var r={role:"columnheader","aria-label":i};t._sort&&t._sort.name==e.name&&("asc"==t._sort.direction?r["aria-sort"]="ascending":r["aria-sort"]="descending"),n=this.getAttributeString(r)}return n},gridDataAttrString:function(){return"role='rowgroup'"},gridCellAttrString:function(t,e){return this.getAttributeString({role:"gridcell","aria-label":e})},gridAddButtonAttrString:function(e){return this.getAttributeString({role:"button","aria-label":t.locale.labels.new_task})},messageButtonAttrString:function(t){return"tabindex='0' role='button' aria-label='"+t+"'"},messageInfoAttr:function(t){t.setAttribute("role","alert")},messageModalAttr:function(t,e){t.setAttribute("role","dialog"),e&&t.setAttribute("aria-labelledby",e)},quickInfoAttr:function(t){t.setAttribute("role","dialog")},quickInfoHeaderAttrString:function(){return" role='heading' "},quickInfoHeader:function(t,e){t.setAttribute("aria-label",e)},quickInfoButtonAttrString:function(e){return t._waiAria.getAttributeString({role:"button","aria-label":e,tabindex:"0"})},tooltipAttr:function(t){t.setAttribute("role","tooltip")},tooltipVisibleAttr:function(t){t.setAttribute("aria-hidden","false")},tooltipHiddenAttr:function(t){t.setAttribute("aria-hidden","true")}},t._waiAria)t._waiAria[s]=function(e){return function(){return t.config.wai_aria_attributes?e.apply(this,arguments):""}}(t._waiAria[s])}},function(t,e){t.exports=function(t){t.getGridColumn=function(e){for(var i=t.config.columns,n=0;n=0?"&":"?",r=t.getScrollState().y||0;t.load(i+n+"parent_id="+encodeURIComponent(e),this._load_type,function(){r&&t.scrollTo(null,r)}),t.setUserData(e,"was_rendered",!0)}})}},function(t,e){t.exports=function(t){function e(e){return function(){return!t.config.auto_types||t.getTaskType(t.config.types.project)!=t.config.types.project||e.apply(this,arguments)}}function i(e){t.batchUpdate(function(){!function e(i){!function(e){e=e.id||e;var i=t.getTask(e),n=a(i);!1!==n&&r(i,n)}(i);var n=t.getParent(i);n!=t.config.root_id&&e(n)}(e)})}var n;function r(e,i){e.type=i,t.updateTask(e.id)}function a(e){var i=t.config.types,n=t.hasChild(e.id),r=t.getTaskType(e.type);return n&&r===i.task?i.project:!n&&r===i.project&&i.task}var s,o,l=!0;function c(e){e!=t.config.root_id&&t.isTaskExists(e)&&i(e)}t.attachEvent("onParse",e(function(){l=!1,t.batchUpdate(function(){t.eachTask(function(t){var e=a(t);!1!==e&&r(t,e)})}),l=!0})),t.attachEvent("onAfterTaskAdd",function(){l&&e(i)}),t.attachEvent("onAfterTaskUpdate",function(){l&&e(i)}),t.attachEvent("onBeforeTaskDelete",e(function(e,i){return n=t.getParent(e),!0})),t.attachEvent("onAfterTaskDelete",e(function(t,e){c(n)})),t.attachEvent("onRowDragStart",e(function(e,i,n){return s=t.getParent(e),!0})),t.attachEvent("onRowDragEnd",e(function(t,e){c(s),i(t)})),t.attachEvent("onBeforeTaskMove",e(function(e,i,n){return o=t.getParent(e),!0})),t.attachEvent("onAfterTaskMove",e(function(t,e,n){document.querySelector(".gantt_drag_marker")||(c(o),i(t))}))}},function(t,e){t.exports=function(t){function e(e){return function(){return!t.config.placeholder_task||e.apply(this,arguments)}}function i(){var e=t.getTaskBy("type",t.config.types.placeholder);if(!e.length||!t.isTaskExists(e[0].id)){var i={unscheduled:!0,type:t.config.types.placeholder,duration:0,text:t.locale.labels.new_task};if(!1===t.callEvent("onTaskCreated",[i]))return;t.addTask(i)}}function n(e){var i=t.getTask(e);i.type==t.config.types.placeholder&&(i.start_date&&i.end_date&&i.unscheduled&&(i.unscheduled=!1),t.batchUpdate(function(){var e=t.copy(i);t.silent(function(){t.deleteTask(i.id)}),delete e["!nativeeditor_status"],e.type=t.config.types.task,e.id=t.uid(),t.addTask(e)}))}t.config.types.placeholder="placeholder",t.attachEvent("onDataProcessorReady",e(function(i){i&&!i._silencedPlaceholder&&(i._silencedPlaceholder=!0,i.attachEvent("onBeforeUpdate",e(function(e,n,r){return r.type!=t.config.types.placeholder||(i.setUpdated(e,!1),!1)})))}));var r=!1;t.attachEvent("onGanttReady",function(){r||(r=!0,t.attachEvent("onAfterTaskUpdate",e(n)),t.attachEvent("onAfterTaskAdd",e(function(e,n){n.type!=t.config.types.placeholder&&(t.getTaskBy("type",t.config.types.placeholder).forEach(function(e){t.silent(function(){t.isTaskExists(e.id)&&t.deleteTask(e.id)})}),i())})),t.attachEvent("onParse",e(i)))}),t.attachEvent("onBeforeUndoStack",function(e){for(var i=0;i"+_+""),p&&(_=""+_),_&&(y.innerHTML=_),c.push(y)}}var k=null;if(c.length){for(k=document.createElement("div"),u=0;u0&&g+_>=v+2&&(l=0),s&&!y?s=0:s<0&&!m?s=0:s>0&&m+y>=k&&(s=0);var b=t.config.autoscroll_step;b&&b<2&&(b=2),s*=b||i,l*=b||i,(s||l)&&function(e,i){var n=t.getScrollState(),r=null,a=null;e&&(r=n.x+e,r=Math.min(n.width,r),r=Math.max(0,r));i&&(a=n.y+i,a=Math.min(n.height,a),a=Math.max(0,a));t.scrollTo(r,a)}(s,l)}function p(t,i,n){return t-e<0&&ti-e&&t>n?1:0}t.attachEvent("onGanttReady",function(){t.eventRemove(document.body,"mousemove",g),t.event(document.body,"mousemove",g)})}},function(t,e,i){t.exports=function(t){for(var e=[i(80),i(79),i(78),i(77),i(76),i(75),i(74),i(73)],n=0;nr.indexOf("/task")?"links":"tasks",i.setGanttMode(n);var a=e.apply(i,arguments);return i.setGanttMode(n),a},i._getRowData=t.bind(function(e,n){var a;a="tasks"==i._ganttMode?this.isTaskExists(e)?this.getTask(e):{id:e}:this.isLinkExists(e)?this.getLink(e):{id:e},a=t.copy(a);var s={};for(var o in a)if("$"!=o.substr(0,1)){var l=a[o];r.isDate(l)?s[o]=this.templates.xml_format(l):s[o]=null===l?"":l}var c=this._get_task_timing_mode(a);return c.$no_start&&(a.start_date="",a.duration=""),c.$no_end&&(a.end_date="",a.duration=""),s[i.action_param]=this.getUserData(e,i.action_param),s},t)}.call(this,t,s),function(t,e){t._change_id=t.bind(function(t,i){"tasks"!=e._ganttMode?this.changeLinkId(t,i):this.changeTaskId(t,i)},this),t._row_style=function(i,n){"tasks"==e._ganttMode&&t.isTaskExists(i)&&(t.getTask(i).$dataprocessor_class=n,t.refreshTask(i))},t._delete_task=function(t,e){},t._sendTaskOrder=function(t,i){i.$drop_target&&(e.setGanttMode("tasks"),this.getTask(t).target=i.$drop_target,e.setUpdated(t,!0,"order"),delete this.getTask(t).$drop_target)},this._dp=e}.call(this,t,s),function(t,e){function n(i){for(var n=e.updatedRows.slice(),r=!1,a=0;a-1?e.indexOf("?"):e.length),this.serverProcessor=e+("/"==e.slice(-1)?"":"/")+i}else this.serverProcessor=e+t.ajax.urlSeparator(e)+"gantt_mode="+this._ganttMode;return!0})}.call(this,t,s),s.attachEvent("onDestroy",function(){!function(t,i){delete i.$gantt,delete i.setGanttMode,delete i._getRowData,i.afterUpdate=e,delete t._dp,delete t._change_id,delete t._row_style,delete t._delete_task,delete t._sendTaskOrder,r.forEach(a,function(e){t.detachEvent(e)}),a=[]}(t,s)}),n(t,s),t.callEvent("onDataProcessorReady",[s])},t.getUserData=function(t,e){return this.userdata||(this.userdata={}),this.userdata[t]&&this.userdata[t][e]?this.userdata[t][e]:""},t.setUserData=function(t,e,i){this.userdata||(this.userdata={}),this.userdata[t]||(this.userdata[t]={}),this.userdata[t][e]=i}}},function(t,e){t.exports={bindDataStore:function(t,e){var i=e.getDatastore(t),n=function(t,e){var n=e.getLayers(),r=i.getItem(t);if(r&&i.isVisible(t))for(var a=0;ar||+i.end_date<+n)return!1}return!0}),s.attachEvent("onIdChange",function(e,i){t._update_flags(e,i)}),s.attachEvent("onAfterUpdate",function(e){if(t._update_parents(e),t.getState("batchUpdate").batch_update)return!0;for(var i=s.getItem(e),n=0;nl[1]&&(t.config.grid_width=l[1]),r&&t.config.show_chart)if(a.$config.width=t.config.grid_width-1,i)a.$parent.$config.width=t.config.grid_width,a.$parent.$config.group&&t.$layout._syncCellSizes(a.$parent.$config.group,a.$parent.$config.width);else if(r&&!n.isChildOf(r.$task,e.$view)){if(!a.$config.original_grid_width){var c=t.skins[t.skin];c&&c.config&&c.config.grid_width?a.$config.original_grid_width=c.config.grid_width:a.$config.original_grid_width=0}t.config.grid_width=a.$config.original_grid_width,a.$parent.$config.width=t.config.grid_width}else a.$parent._setContentSize(a.$config.width,a.$config.height),t.$layout._syncCellSizes(a.$parent.$config.group,t.config.grid_width);else r&&n.isChildOf(r.$task,e.$view)&&(a.$config.original_grid_width=t.config.grid_width),i||(a.$parent.$config.width=0)}i=!1}}),this._initScrollStateEvents(e)},_initScrollStateEvents:function(e){t._getVerticalScrollbar=this.getVerticalScrollbar,t._getHorizontalScrollbar=this.getHorizontalScrollbar;var i=this.getVerticalScrollbar(),n=this.getHorizontalScrollbar();i&&i.attachEvent("onScroll",function(e,i,n){var r=t.getScrollState();t.callEvent("onGanttScroll",[r.x,e,r.x,i])}),n&&n.attachEvent("onScroll",function(e,i,n){var r=t.getScrollState();t.callEvent("onGanttScroll",[e,r.y,i,r.y])}),e.attachEvent("onResize",function(){i&&!t.$scroll_ver&&(t.$scroll_ver=i.$scroll_ver),n&&!t.$scroll_hor&&(t.$scroll_hor=n.$scroll_hor)})},_findGridResizer:function(t,e){for(var i,n=t.getCellsByType("resizer"),r=!0,a=0;a"+e.templates.drag_link(i.link_source_id,i.link_from_start,i.link_target_id,i.link_to_start)+"";t.innerHTML=a}function _(){s=o=r=null,a=!0}function p(t,e,i,n){return e>=t?n<=i?1:4:n<=i?2:3}u.attachEvent("onBeforeDragStart",e.bind(function(i,r){var a=r.target||r.srcElement;if(_(),e.getState().drag_id)return!1;if(n.locateClassName(a,"gantt_link_point")){n.locateClassName(a,"task_start_date")&&(o=!0);var l=e.locate(r);s=l;var c=e.getTask(l);if(e.isReadonly(c))return _(),!1;return this._dir_start=f(c,!!o,0,t.$getConfig(),!0),!0}return!1},this)),u.attachEvent("onAfterDragStart",e.bind(function(t,i){e.config.touch&&e.refreshData(),g(u.config.marker)},this)),u.attachEvent("onDragMove",e.bind(function(s,o){var c=u.config,d=u.getPosition(o);!function(t,e){t.style.left=e.x+5+"px",t.style.top=e.y+5+"px"}(c.marker,d);var h=!!n.locateClassName(o,"gantt_link_control"),_=r,v=i,m=a,y=e.locate(o),k=!0;if(h&&(k=!n.locateClassName(o,"task_end_date"),h=!!y),r=y,i=h,a=k,h){var b=e.getTask(y),$=t.$getConfig(),x=n.locateClassName(o,"gantt_link_control"),w=0;x&&(w=Math.floor(x.offsetWidth/2)),this._dir_end=f(b,!!a,w,$)}else this._dir_end=n.getRelativeEventPosition(o,t.$task_data);var S=!(v==h&&_==y&&m==k);return S&&(_&&e.refreshTask(_,!1),y&&e.refreshTask(y,!1)),S&&g(c.marker),function(i,n,r,a){var s=function(){u._direction||(u._direction=document.createElement("div"),t.$task_links.appendChild(u._direction));return u._direction}(),o=l(),c=["gantt_link_direction"];e.templates.link_direction_class&&c.push(e.templates.link_direction_class(o.link_source_id,o.link_from_start,o.link_target_id,o.link_to_start));var d=Math.sqrt(Math.pow(r-i,2)+Math.pow(a-n,2));if(!(d=Math.max(0,d-3)))return;s.className=c.join(" ");var h=(a-n)/(r-i),f=Math.atan(h);2==p(i,r,n,a)?f+=Math.PI:3==p(i,r,n,a)&&(f-=Math.PI);var g=Math.sin(f),_=Math.cos(f),v=Math.round(n),m=Math.round(i),y=["-webkit-transform: rotate("+f+"rad)","-moz-transform: rotate("+f+"rad)","-ms-transform: rotate("+f+"rad)","-o-transform: rotate("+f+"rad)","transform: rotate("+f+"rad)","width:"+Math.round(d)+"px"];if(-1!=window.navigator.userAgent.indexOf("MSIE 8.0")){y.push('-ms-filter: "'+function(t,e){return"progid:DXImageTransform.Microsoft.Matrix(M11 = "+e+",M12 = -"+t+",M21 = "+t+",M22 = "+e+",SizingMethod = 'auto expand')"}(g,_)+'"');var k=Math.abs(Math.round(i-r)),b=Math.abs(Math.round(a-n));switch(p(i,r,n,a)){case 1:v-=b;break;case 2:m-=k,v-=b;break;case 3:m-=k}}y.push("top:"+v+"px"),y.push("left:"+m+"px"),s.style.cssText=y.join(";")}(this._dir_start.x,this._dir_start.y,this._dir_end.x,this._dir_end.y),!0},this)),u.attachEvent("onDragEnd",e.bind(function(){var t=l();if(t.link_source_id&&t.link_target_id&&t.link_source_id!=t.link_target_id){var i=e._get_link_type(t.link_from_start,t.link_to_start),n={source:t.link_source_id,target:t.link_target_id,type:i};n.type&&e.isLinkAllowed(n)&&e.addLink(n)}_(),e.config.touch?e.refreshData():(t.link_source_id&&e.refreshTask(t.link_source_id,!1),t.link_target_id&&e.refreshTask(t.link_target_id,!1)),u._direction&&(u._direction.parentNode&&u._direction.parentNode.removeChild(u._direction),u._direction=null)},this))};t.exports={createLinkDND:function(){return{init:r}}}},function(t,e,i){var n=i(1),r=i(0),a=i(33);t.exports={createTaskDND:function(){var t;return{extend:function(e){e.roundTaskDates=function(e){t.round_task_dates(e)}},init:function(e,i){return t=function(t,e){var i=e.$services;return{drag:null,dragMultiple:{},_events:{before_start:{},before_finish:{},after_finish:{}},_handlers:{},init:function(){this._domEvents=e._createDomEventScope(),this.clear_drag_state();var t=e.config.drag_mode;this.set_actions(),i.getService("state").registerProvider("tasksDnd",r.bind(function(){return{drag_id:this.drag?this.drag.id:void 0,drag_mode:this.drag?this.drag.mode:void 0,drag_from_start:this.drag?this.drag.left:void 0}},this));var n={before_start:"onBeforeTaskDrag",before_finish:"onBeforeTaskChanged",after_finish:"onAfterTaskDrag"};for(var a in this._events)for(var s in t)this._events[a][s]=n[a];this._handlers[t.move]=this._move,this._handlers[t.resize]=this._resize,this._handlers[t.progress]=this._resize_progress},set_actions:function(){var i=t.$task_data;this._domEvents.attach(i,"mousemove",e.bind(function(t){this.on_mouse_move(t||event)},this)),this._domEvents.attach(i,"mousedown",e.bind(function(t){this.on_mouse_down(t||event)},this)),this._domEvents.attach(i,"mouseup",e.bind(function(t){this.on_mouse_up(t||event)},this))},clear_drag_state:function(){this.drag={id:null,mode:null,pos:null,start_x:null,start_y:null,obj:null,left:null},this.dragMultiple={}},_resize:function(i,n,r){var a=t.$getConfig(),s=this._drag_task_coords(i,r);r.left?(i.start_date=e.dateFromPos(s.start+n),i.start_date||(i.start_date=new Date(e.getState().min_date))):(i.end_date=e.dateFromPos(s.end+n),i.end_date||(i.end_date=new Date(e.getState().max_date))),i.end_date-i.start_datec){var d=c-o.end;(d50||this._is_number(r)&&this._is_number(s)&&this._mouse_position_change({x:r,y:s},i)>20)&&this._start_dnd(t)}if(this.drag.mode){if(!a(this,40))return;this._update_on_move(t)}},_update_item_on_move:function(t,i,n,r,a){var s=e.getTask(i),o=e.mixin({},s),l=e.mixin({},s);this._handlers[n].apply(this,[l,t,r]),e.mixin(s,l,!0),e.callEvent("onTaskDrag",[s.id,n,l,o,a]),e.mixin(s,l,!0),e.refreshTask(i)},_update_on_move:function(i){var a=this.drag,s=t.$getConfig();if(a.mode){var o=n.getRelativeEventPosition(i,t.$task_data);if(a.pos&&a.pos.x==o.x)return;a.pos=o;var l=e.dateFromPos(o.x);if(!l||isNaN(l.getTime()))return;var c=o.x-a.start_x,d=e.getTask(a.id);if(this._handlers[a.mode]){if(e.isSummaryTask(d)&&e.config.drag_project&&a.mode==s.drag_mode.move){var h={};h[a.id]=r.copy(a);var u=this._find_max_shift(r.mixin(h,this.dragMultiple),c);for(var f in void 0!==u&&(c=u),this._update_item_on_move(c,a.id,a.mode,a,i),this.dragMultiple){var g=this.dragMultiple[f];this._update_item_on_move(c,g.id,g.mode,g,i)}}else this._update_item_on_move(c,a.id,a.mode,a,i);e._update_parents(a.id)}}},on_mouse_down:function(i,r){if(2!=i.button||void 0===i.button){var a=t.$getConfig(),s=e.locate(i),o=null;if(e.isTaskExists(s)&&(o=e.getTask(s)),!e.isReadonly(o)&&!this.drag.mode){this.clear_drag_state(),r=r||i.target||i.srcElement;var l=n.getClassName(r),c=this._get_drag_mode(l,r);if(!l||!c)return r.parentNode?this.on_mouse_down(i,r.parentNode):void 0;if(c)if(c.mode&&c.mode!=a.drag_mode.ignore&&a["drag_"+c.mode]){if(s=e.locate(r),o=e.copy(e.getTask(s)||{}),e.isReadonly(o))return this.clear_drag_state(),!1;if(e.isSummaryTask(o)&&!a.drag_project&&c.mode!=a.drag_mode.progress)return void this.clear_drag_state();c.id=s;var d=n.getRelativeEventPosition(i,e.$task_data);c.start_x=d.x,c.start_y=d.y,c.obj=o,this.drag.start_drag=c,this.drag.timestamp=Date.now()}else this.clear_drag_state();else if(e.checkEvent("onMouseDown")&&e.callEvent("onMouseDown",[l.split(" ")[0]])&&r.parentNode)return this.on_mouse_down(i,r.parentNode)}}},_fix_dnd_scale_time:function(i,n){var r=t.$getConfig(),a=e.getScale().unit,s=e.getScale().step;function o(i){if(e.config.correct_work_time){var n=t.$getConfig();e.isWorkTime(i.start_date,void 0,i)||(i.start_date=e.calculateEndDate({start_date:i.start_date,duration:-1,unit:n.duration_unit,task:i}))}}r.round_dnd_dates||(a="minute",s=r.time_step),n.mode==r.drag_mode.resize?n.left?(i.start_date=e.roundDate({date:i.start_date,unit:a,step:s}),o(i)):(i.end_date=e.roundDate({date:i.end_date,unit:a,step:s}),function(i){if(e.config.correct_work_time){var n=t.$getConfig();e.isWorkTime(new Date(i.end_date-1),void 0,i)||(i.end_date=e.calculateEndDate({start_date:i.end_date,duration:1,unit:n.duration_unit,task:i}))}}(i)):n.mode==r.drag_mode.move&&(i.start_date=e.roundDate({date:i.start_date,unit:a,step:s}),o(i),i.end_date=e.calculateEndDate(i))},_fix_working_times:function(i,n){var r=t.$getConfig();(n=n||{mode:r.drag_mode.move}).mode==r.drag_mode.resize?n.left?i.start_date=e.getClosestWorkTime({date:i.start_date,dir:"future",task:i}):i.end_date=e.getClosestWorkTime({date:i.end_date,dir:"past",task:i}):n.mode==r.drag_mode.move&&e.correctTaskWorkTime(i)},_finalize_mouse_up:function(t,i,n,r){var a=e.getTask(t);if(i.work_time&&i.correct_work_time&&this._fix_working_times(a,n),this._fix_dnd_scale_time(a,n),this._fireEvent("before_finish",n.mode,[t,n.mode,e.copy(n.obj),r])){var s=t;e._init_task_timing(a),this.clear_drag_state(),e.updateTask(a.id),this._fireEvent("after_finish",n.mode,[s,n.mode,r])}else this.clear_drag_state(),t==n.id&&(n.obj._dhx_changed=!1,e.mixin(a,n.obj,!0)),e.refreshTask(a.id)},on_mouse_up:function(i){var n=this.drag;if(n.mode&&n.id){var r=t.$getConfig(),a=e.getTask(n.id),s=this.dragMultiple;if(e.isSummaryTask(a)&&r.drag_project&&n.mode==r.drag_mode.move)for(var o in s)this._finalize_mouse_up(s[o].id,r,s[o],i);this._finalize_mouse_up(n.id,r,n,i)}this.clear_drag_state()},_get_drag_mode:function(e,i){var n=t.$getConfig().drag_mode,r={mode:null,left:null};switch((e||"").split(" ")[0]){case"gantt_task_line":case"gantt_task_content":r.mode=n.move;break;case"gantt_task_drag":r.mode=n.resize;var a=i.getAttribute("data-bind-property");r.left="start_date"==a;break;case"gantt_task_progress_drag":r.mode=n.progress;break;case"gantt_link_control":case"gantt_link_point":r.mode=n.ignore;break;default:r=null}return r},_start_dnd:function(i){var n=this.drag=this.drag.start_drag;delete n.start_drag;var r=t.$getConfig(),a=n.id;if(r["drag_"+n.mode]&&e.callEvent("onBeforeDrag",[a,n.mode,i])&&this._fireEvent("before_start",n.mode,[a,n.mode,i])){delete n.start_drag;var s=e.getTask(a);e.isSummaryTask(s)&&e.config.drag_project&&n.mode==r.drag_mode.move&&e.eachTask(function(t){this.dragMultiple[t.id]=e.mixin({id:t.id,obj:t},this.drag)},s.id,this),e.callEvent("onTaskDragStart",[])}else this.clear_drag_state()},_fireEvent:function(t,i,n){e.assert(this._events[t],"Invalid stage:{"+t+"}");var r=this._events[t][i];return e.assert(r,"Unknown after drop mode:{"+i+"}"),e.assert(n,"Invalid event arguments"),!e.checkEvent(r)||e.callEvent(r,n)},round_task_dates:function(e){var i=this.drag,n=t.$getConfig();i||(i={mode:n.drag_mode.move}),this._fix_dnd_scale_time(e,i)},destructor:function(){this._domEvents.detachAll()}}}(e,i),e._tasks_dnd=t,t.init(i)},destructor:function(){t.destructor(),t=null}}}}},function(t,e,i){var n=i(0),r=i(95),a=i(94),s=i(1),o=function(t){var e=t.$services;return{onCreated:function(e){var s=e.$config;s.bind=n.defined(s.bind)?s.bind:"task",s.bindLinks=n.defined(s.bindLinks)?s.bindLinks:"link",e._linksDnD=a.createLinkDND(),e._tasksDnD=r.createTaskDND(),e._tasksDnD.extend(e),this._mouseDelegates=i(13)(t)},onInitialized:function(e){this._attachDomEvents(t),this._attachStateProvider(t,e),e._tasksDnD.init(e,t),e._linksDnD.init(e,t),"timeline"==e.$config.id&&this.extendDom(e)},onDestroyed:function(e){this._clearDomEvents(t),this._clearStateProvider(t)},extendDom:function(e){t.$task=e.$task,t.$task_scale=e.$task_scale,t.$task_data=e.$task_data,t.$task_bg=e.$task_bg,t.$task_links=e.$task_links,t.$task_bars=e.$task_bars},_clearDomEvents:function(){this._mouseDelegates.destructor(),this._mouseDelegates=null},_attachDomEvents:function(t){function e(e,i){if(e&&this.callEvent("onLinkDblClick",[e,i])){var n=this.getLink(e);if(this.isReadonly(n))return;var r=this.locale.labels.link+" "+this.templates.link_description(this.getLink(e))+" "+this.locale.labels.confirm_link_deleting;window.setTimeout(function(){t._dhtmlx_confirm(r,"",function(){t.deleteLink(e)})},this.config.touch?300:1)}}this._mouseDelegates.delegate("click","gantt_task_link",t.bind(function(t,e){var i=this.locate(t,this.config.link_attribute);i&&this.callEvent("onLinkClick",[i,t])},t),this.$task),this._mouseDelegates.delegate("click","gantt_scale_cell",t.bind(function(e,i){var n=s.getRelativeEventPosition(e,t.$task_data),r=t.dateFromPos(n.x),a=Math.floor(t.columnIndexByDate(r)),o=t.getScale().trace_x[a];t.callEvent("onScaleClick",[e,o])},t),this.$task),this._mouseDelegates.delegate("doubleclick","gantt_task_link",t.bind(function(i,n,r){n=this.locate(i,t.config.link_attribute),e.call(this,n,i)},t),this.$task),this._mouseDelegates.delegate("doubleclick","gantt_link_point",t.bind(function(t,i,n){i=this.locate(t);var r=this.getTask(i),a=null;return n.parentNode&&s.getClassName(n.parentNode)&&(a=s.getClassName(n.parentNode).indexOf("_left")>-1?r.$target[0]:r.$source[0]),a&&e.call(this,a,t),!1},t),this.$task)},_attachStateProvider:function(t,i){var n=i;e.getService("state").registerProvider("tasksTimeline",function(){return{scale_unit:n._tasks?n._tasks.unit:void 0,scale_step:n._tasks?n._tasks.step:void 0}})},_clearStateProvider:function(){e.getService("state").unregisterProvider("tasksTimeline")}}};t.exports=o},function(t,e,i){var n=i(1);function r(t,e){var i=n.getNodePosition(e.$grid_data);return t.x+=i.x-e.$grid.scrollLeft,t.y+=i.y-e.$grid_data.scrollTop,t}t.exports={removeLineHighlight:function(t){t.markerLine&&t.markerLine.parentNode&&t.markerLine.parentNode.removeChild(t.markerLine),t.markerLine=null},highlightPosition:function(t,e,i){var a=function(t,e){var i=n.getNodePosition(e.$grid_data),r=n.getRelativeEventPosition(t,e.$grid_data),a=e.$config.rowStore,s=i.x,o=r.y-10,l=e.$getConfig();oi.y+c-l.row_height&&(o=i.y+c-l.row_height),i.x=s,i.y=o,i}(t,i);e.marker.style.left="10px",e.marker.style.top=a.y+"px";var s=e.markerLine;s||((s=document.createElement("div")).className="gantt_drag_marker gantt_grid_dnd_marker",s.innerHTML="",s.style.pointerEvents="none",document.body.appendChild(s),e.markerLine=s),t.child?function(t,e,i){var n=t.targetParent,a=r({x:0,y:i.getItemTop(n)},i);e.innerHTML="",e.style.width=i.$grid_data.offsetWidth+"px",e.style.top=a.y+"px",e.style.left=a.x+"px",e.style.height=i.getItemHeight(n)+"px"}(t,s,i):function(t,e,i){var n=function(t,e){var i=e.$config.rowStore,n={x:0,y:0},a=e.$grid_data.querySelector(".gantt_tree_indent"),s=15,o=0;if(a&&(s=a.offsetWidth),t.targetId!==i.$getRootId()){var l=e.getItemTop(t.targetId),c=e.getItemHeight(t.targetId);if(o=i.exists(t.targetId)?i.calculateItemLevel(i.getItem(t.targetId)):0,t.prevSibling)n.y=l;else if(t.nextSibling){var d=0;i.eachItem(function(t){-1!==i.getIndexById(t.id)&&d++},t.targetId),n.y=l+c+d*c}else n.y=l+c,o+=1}return n.x=40+o*s,n.width=Math.max(e.$grid_data.offsetWidth-n.x,0),r(n,e)}(t,i);e.innerHTML="",e.style.left=n.x+"px",e.style.height="4px",e.style.top=n.y-2+"px",e.style.width=n.width+"px"}(t,s,i)}}},function(t,e,i){var n=i(11);t.exports=function(t,e,i,r){var a;if(t!==r.$getRootId())a=e<.25?n.prevSiblingTarget(t,r):!(e>.6)||r.hasChild(t)&&r.getItem(t).$open?n.firstChildTarget(t,r):n.nextSiblingTarget(t,r);else{var s=r.$getRootId();a=r.hasChild(s)&&i>=0?n.lastChildTarget(s,r):n.firstChildTarget(s,r)}return a}},function(t,e,i){var n=i(11);function r(t,e,i,r){for(var a=t;i.exists(a);){var s=i.calculateItemLevel(i.getItem(a));if((s===e||s===e-1)&&i.getBranchIndex(a)>-1)break;a=r?i.getPrev(a):i.getNext(a)}return i.exists(a)?i.calculateItemLevel(i.getItem(a))===e?r?n.nextSiblingTarget(a,i):n.prevSiblingTarget(a,i):n.firstChildTarget(a,i):null}function a(t,e,i){return r(t,e,i,!0)}function s(t,e,i){return r(t,e,i,!1)}t.exports=function(t,e,i,r,o){var l;if(t!==r.$getRootId())e<.5?r.calculateItemLevel(r.getItem(t))===o?l=n.prevSiblingTarget(t,r):(l=a(t,o,r))&&(l=s(t,o,r)):r.calculateItemLevel(r.getItem(t))===o?l=n.nextSiblingTarget(t,r):(l=s(t,o,r))&&(l=a(t,o,r));else{var c=r.$getRootId(),d=r.getChildren(c);l=n.createDropTargetObject(),l=d.length&&i>=0?a(function(t){for(var e=t.getNext();t.exists(e);){var i=t.getNext(e);if(!t.exists(i))return e;e=i}return null}(r),o,r):s(c,o,r)}return l}},function(t,e,i){var n=i(1),r=i(11),a=i(99),s=i(98),o=i(97);t.exports={init:function(t,e){var i=t.$services.getService("dnd");if(e.$config.bind&&t.getDatastore(e.$config.bind)){var l=new i(e.$grid_data,{updates_per_second:60});t.defined(e.$getConfig().dnd_sensitivity)&&(l.config.sensitivity=e.$getConfig().dnd_sensitivity),l.attachEvent("onBeforeDragStart",t.bind(function(i,n){var r=c(n);if(!r)return!1;t.hideQuickInfo&&t._hideQuickInfo();var a=r.getAttribute(e.$config.item_attribute),s=e.$config.rowStore.getItem(a);return!t.isReadonly(s)&&(l.config.initial_open_state=s.$open,!!t.callEvent("onRowDragStart",[a,n.target||n.srcElement,n])&&void 0)},t)),l.attachEvent("onAfterDragStart",t.bind(function(t,i){var n=c(i);l.config.marker.innerHTML=n.outerHTML;var a=l.config.marker.firstChild;a&&(l.config.marker.style.opacity=.4,a.style.position="static",a.style.pointerEvents="none"),l.config.id=n.getAttribute(e.$config.item_attribute);var s=e.$config.rowStore,o=s.getItem(l.config.id);l.config.level=s.calculateItemLevel(o),l.config.drop_target=r.createDropTargetObject({targetParent:s.getParent(o.id),targetIndex:s.getBranchIndex(o.id),targetId:o.id,nextSibling:!0}),o.$open=!1,o.$transparent=!0,this.refreshData()},t)),l.attachEvent("onDragMove",t.bind(function(i,n){var a=d(n);return a&&!1!==t.callEvent("onBeforeRowDragMove",[l.config.id,a.targetParent,a.targetIndex])||(a=r.createDropTargetObject(l.config.drop_target)),o.highlightPosition(a,l.config,e),l.config.drop_target=a,this.callEvent("onRowDragMove",[l.config.id,a.targetParent,a.targetIndex]),!0},t)),l.attachEvent("onDragEnd",t.bind(function(){var t=e.$config.rowStore,i=t.getItem(l.config.id);o.removeLineHighlight(l.config),i.$transparent=!1,i.$open=l.config.initial_open_state;var n=l.config.drop_target;!1===this.callEvent("onBeforeRowDragEnd",[l.config.id,n.targetParent,n.targetIndex])?i.$drop_target=null:(t.move(l.config.id,n.targetIndex,n.targetParent),this.callEvent("onRowDragEnd",[l.config.id,n.targetParent,n.targetIndex])),t.refresh(i.id)},t))}function c(t){return n.locateAttribute(t,e.$config.item_attribute)}function d(t){var i=function(t){var i=n.getRelativeEventPosition(t,e.$grid_data).y,r=e.$config.rowStore;if((i=i||0)<0)return r.$getRootId();var a=Math.floor(i/e.getItemHeight());return a>r.countVisible()-1?r.$getRootId():r.getIdByIndex(a)}(t),r=null,o=e.$config.rowStore,c=!e.$getConfig().order_branch_free,d=n.getRelativeEventPosition(t,e.$grid_data).y;return i!==o.$getRootId()&&(r=(d-e.getItemTop(i))/e.getItemHeight()),c?a(i,r,d,o,l.config.level):s(i,r,d,o)}}}},function(t,e,i){var n=i(1);t.exports={init:function(t,e){var i=t.$services.getService("dnd");if(e.$config.bind&&t.getDatastore(e.$config.bind)){var r=new i(e.$grid_data,{updates_per_second:60});t.defined(e.$getConfig().dnd_sensitivity)&&(r.config.sensitivity=e.$getConfig().dnd_sensitivity),r.attachEvent("onBeforeDragStart",t.bind(function(i,n){var o=a(n);if(!o)return!1;t.hideQuickInfo&&t._hideQuickInfo();var l=o.getAttribute(e.$config.item_attribute),c=s().getItem(l);return!t.isReadonly(c)&&(r.config.initial_open_state=c.$open,!!t.callEvent("onRowDragStart",[l,n.target||n.srcElement,n])&&void 0)},t)),r.attachEvent("onAfterDragStart",t.bind(function(t,i){var n=a(i);r.config.marker.innerHTML=n.outerHTML;var o=r.config.marker.firstChild;o&&(o.style.position="static"),r.config.id=n.getAttribute(e.$config.item_attribute);var l=s(),c=l.getItem(r.config.id);r.config.index=l.getBranchIndex(r.config.id),r.config.parent=c.parent,c.$open=!1,c.$transparent=!0,this.refreshData()},t)),r.lastTaskOfLevel=function(t){for(var e=null,i=s().getItems(),n=0,r=i.length;ni.y+c-l.row_height&&(o=i.y+c-l.row_height),i.x=a,i.y=o,i},t),r._getTargetY=t.bind(function(t){var i=n.getNodePosition(e.$grid_data),r=t.pageY-i.y+(e.$state.scrollTop||0);return r<0&&(r=0),r},t),r._getTaskByY=t.bind(function(t,i){var n=e.$getConfig(),r=s();t=t||0;var a=Math.floor(t/n.row_height);return(a=ir.countVisible()-1?null:r.getIdByIndex(a)},t),r.attachEvent("onDragMove",t.bind(function(t,i){var n=r.config,a=r._getGridPos(i),o=e.$getConfig(),l=s();n.marker.style.left=a.x+10+"px",n.marker.style.top=a.y+"px";var c=l.getItem(r.config.id),d=r._getTargetY(i),h=r._getTaskByY(d,l.getIndexById(c.id));function u(t,e){return!l.isChildOf(f.id,e.id)&&(t.$level==e.$level||o.order_branch_free)}if(l.exists(h)||(h=r.lastTaskOfLevel(o.order_branch_free?c.$level:0))==r.config.id&&(h=null),l.exists(h)){var f=l.getItem(h);if(l.getIndexById(f.id)*o.row_height+o.row_height/2=0;)v=l.getIdByIndex(g-y),m=l.getItem(v),y++;if(c.id==f.id)return;u(f,c)&&c.id!=f.id?l.move(c.id,0,0,f.id):f.$level!=c.$level-1||l.getChildren(f.id).length?m&&u(m,c)&&c.id!=m.id&&l.move(c.id,-1,l.getParent(m.id)):l.move(c.id,0,f.id)}return!0},t)),r.attachEvent("onDragEnd",t.bind(function(){var t=s(),e=t.getItem(r.config.id);e.$transparent=!1,e.$open=r.config.initial_open_state,!1===this.callEvent("onBeforeRowDragEnd",[r.config.id,r.config.parent,r.config.index])?(t.move(r.config.id,r.config.index,r.config.parent),e.$drop_target=null):this.callEvent("onRowDragEnd",[r.config.id,e.$drop_target]),t.refresh(e.id)},t))}function a(t){return n.locateAttribute(t,e.$config.item_attribute)}function s(){return t.getDatastore(e.$config.bind)}}}},function(t,e,i){var n=i(0),r=i(101),a=i(100),s=function(t){return{onCreated:function(e){e.$config=n.mixin(e.$config,{bind:"task"}),"grid"==e.$config.id&&(this.extendGantt(e),t.ext.inlineEditors=t.ext._inlineEditors.createEditors(e),t.ext.inlineEditors.init()),this._mouseDelegates=i(13)(t)},onInitialized:function(e){var i=e.$getConfig();i.order_branch&&("marker"==i.order_branch?a.init(e.$gantt,e):r.init(e.$gantt,e)),this.initEvents(e,t),"grid"==e.$config.id&&this.extendDom(e)},onDestroyed:function(e){"grid"==e.$config.id&&t.ext.inlineEditors.destructor(),this.clearEvents(e,t)},initEvents:function(t,e){this._mouseDelegates.delegate("click","gantt_row",e.bind(function(i,n,r){var a=t.$getConfig();if(null!==n){var s=this.getTask(n);a.scroll_on_click&&!e._is_icon_open_click(i)&&this.showDate(s.start_date),e.callEvent("onTaskRowClick",[n,r])}},e),t.$grid),this._mouseDelegates.delegate("click","gantt_grid_head_cell",e.bind(function(i,n,r){var a=r.getAttribute("data-column-id");if(e.callEvent("onGridHeaderClick",[a,i])){var s=t.$getConfig();if("add"!=a){if(s.sort){for(var o,l=a,c=0;c",u=""):(h=g.template?g.template(e):e[g.name],n.isDate(h)&&(h=s.date_grid(h,e)),u=h,h=""+h+"
");var _="gantt_cell"+(f?" gantt_last_cell":""),p=[];if(g.tree){for(var v=0;v"+p.join("")+"",l.push(d)}if(_=t.getGlobalTaskIndex(e.id)%2==0?"":" odd",_+=e.$transparent?" gantt_transparent":"",_+=e.$dataprocessor_class?" "+e.$dataprocessor_class:"",s.grid_row_class){var k=s.grid_row_class.call(t,e.start_date,e.end_date,e);k&&(_+=" "+k)}o.getSelectedId()==e.id&&(_+=" gantt_selected");var b=document.createElement("div");b.className="gantt_row"+_+" gantt_row_"+t.getTaskType(e.type);var $=i.getItemHeight();return b.style.height=$+"px",b.style.lineHeight=$+"px",a.smart_rendering&&(b.style.position="absolute",b.style.left="0px",b.style.top=i.getItemTop(e.id)+"px"),i.$config.item_attribute&&b.setAttribute(i.$config.item_attribute,e.id),t._waiAria.taskRowAttr(e,b),b.innerHTML=l.join(""),b}}},function(t,e){t.exports=function(t){var e={current_pos:null,dirs:{left:"left",right:"right",up:"up",down:"down"},path:[],clear:function(){this.current_pos=null,this.path=[]},point:function(e){this.current_pos=t.copy(e)},get_lines:function(t){this.clear(),this.point(t[0]);for(var e=1;et.x?this.dirs.right:e.y>t.y?this.dirs.down:this.dirs.up}},i={path:[],clear:function(){this.path=[]},current:function(){return this.path[this.path.length-1]},point:function(e){return e?(this.path.push(t.copy(e)),e):this.current()},point_to:function(i,n,r){r=r?{x:r.x,y:r.y}:t.copy(this.point());var a=e.dirs;switch(i){case a.left:r.x-=n;break;case a.right:r.x+=n;break;case a.up:r.y-=n;break;case a.down:r.y+=n}return this.point(r)},get_points:function(i,n){var r=this.get_endpoint(i,n),a=t.config,s=r.e_y-r.y,o=r.e_x-r.x,l=e.dirs;this.clear(),this.point({x:r.x,y:r.y});var c=2*a.link_arrow_size,d=this.get_line_type(i,n.$getConfig()),h=r.e_x>r.x;if(d.from_start&&d.to_start)this.point_to(l.left,c),h?(this.point_to(l.down,s),this.point_to(l.right,o)):(this.point_to(l.right,o),this.point_to(l.down,s)),this.point_to(l.right,c);else if(!d.from_start&&d.to_start)if(h=r.e_x>r.x+2*c,this.point_to(l.right,c),h)o-=c,this.point_to(l.down,s),this.point_to(l.right,o);else{o-=2*c;var u=s>0?1:-1;this.point_to(l.down,u*(a.row_height/2)),this.point_to(l.right,o),this.point_to(l.down,u*(Math.abs(s)-a.row_height/2)),this.point_to(l.right,c)}else d.from_start||d.to_start?d.from_start&&!d.to_start&&(h=r.e_x>r.x-2*c,this.point_to(l.left,c),h?(o+=2*c,u=s>0?1:-1,this.point_to(l.down,u*(a.row_height/2)),this.point_to(l.right,o),this.point_to(l.down,u*(Math.abs(s)-a.row_height/2)),this.point_to(l.left,c)):(o+=c,this.point_to(l.down,s),this.point_to(l.right,o))):(this.point_to(l.right,c),h?(this.point_to(l.right,o),this.point_to(l.down,s)):(this.point_to(l.down,s),this.point_to(l.right,o)),this.point_to(l.left,c));return this.path},get_line_type:function(e,i){var n=i.links,r=!1,a=!1;return e.type==n.start_to_start?r=a=!0:e.type==n.finish_to_finish?r=a=!1:e.type==n.finish_to_start?(r=!1,a=!0):e.type==n.start_to_finish?(r=!0,a=!1):t.assert(!1,"Invalid link type"),i.rtl&&(r=!r,a=!a),{from_start:r,to_start:a}},get_endpoint:function(e,i){var r=i.$getConfig(),a=this.get_line_type(e,r),s=a.from_start,o=a.to_start,l=t.getTask(e.source),c=t.getTask(e.target),d=n(l,i),h=n(c,i);return{x:s?d.left:d.left+d.width,e_x:o?h.left:h.left+h.width,y:d.top,e_y:h.top}}};function n(e,i){var n=i.$getConfig(),r=i.getItemPosition(e);if(t.getTaskType(e.type)==n.types.milestone){var a=t.getTaskHeight(),s=Math.sqrt(2*a*a);r.left-=s/2,r.width=s}return r}return function(n,r){var a=r.$getConfig(),s=i.get_endpoint(n,r),o=s.e_y-s.y;if(!(s.e_x-s.x||o))return null;var l=i.get_points(n,r),c=e.get_lines(l,r),d=document.createElement("div"),h="gantt_task_link";n.color&&(h+=" gantt_link_inline_color");var u=t.templates.link_class?t.templates.link_class(n):"";u&&(h+=" "+u),a.highlight_critical_path&&t.isCriticalLink&&t.isCriticalLink(n)&&(h+=" gantt_critical_link"),d.className=h,r.$config.link_attribute&&d.setAttribute(r.$config.link_attribute,n.id);for(var f=0;f0){var h=document.createElement("div");h.style.width=c+"px",d="gantt_task_cell"+(l==s-1?" gantt_last_cell":""),(f=r.task_cell_class(e,a.trace_x[l]))&&(d+=" "+f),h.className=d,o.appendChild(h)}}var u=t.getGlobalTaskIndex(e.id)%2!=0,f=r.task_row_class(e.start_date,e.end_date,e),g="gantt_task_row"+(u?" odd":"")+(f?" "+f:"");return i.$config.rowStore.getSelectedId()==e.id&&(g+=" gantt_selected"),o.className=g,n.smart_rendering&&(o.style.position="absolute",o.style.top=i.getItemTop(e.id)+"px",o.style.width="100%"),o.style.height=n.row_height+"px",i.$config.item_attribute&&o.setAttribute(i.$config.item_attribute,e.id),o}}},function(t,e,i){t.exports=function(t){var e=i(27)(t);return function(i,n){if(t.isSplitTask(i)){for(var r=document.createElement("div"),a=t.getTaskPosition(i),s=t.getChildren(i.id),o=0;o";n.innerHTML=r},hide:function(){},set_value:function(e,i,n,r){this.get_input(r).value=s(e,n.editor,t)},get_value:function(t,e,i){return a(this.get_input(i).value||"",e.editor)},save:function(e,i,n){var r=o(t.getTask(e),this.get_value(e,i,n));(r.add.length||r.remove.length)&&t.batchUpdate(function(){r.add.forEach(function(e){t.addLink(e)}),r.remove.forEach(function(e){t.deleteLink(e)}),t.autoSchedule&&t.autoSchedule()})},is_changed:function(e,i,n,r){var o=this.get_value(i,n,r),l=a(s(e,n.editor,t),n.editor);return o.join()!==l.join()}},!0),r}},function(t,e,i){t.exports=function(t){var e=i(7)(t),n=i(0),r="%Y-%m-%d",a=null,s=null;function o(){return e.apply(this,arguments)||this}return i(2)(o,e),n.mixin(o.prototype,{show:function(e,i,n,o){a||(a=t.date.date_to_str(r)),s||(s=t.date.str_to_date(r));var l="";o.innerHTML=l},set_value:function(t,e,i,n){this.get_input(n).value=a(t)},is_valid:function(t,e,i,n){return!(!t||isNaN(t.getTime()))},get_value:function(t,e,i){var n;try{n=s(this.get_input(i).value||"")}catch(t){n=null}return n}},!0),o}},function(t,e,i){t.exports=function(t){var e=i(7)(t),n=i(0);function r(){return e.apply(this,arguments)||this}return i(2)(r,e),n.mixin(r.prototype,{show:function(t,e,i,n){for(var r="",n.innerHTML=r},get_input:function(t){return t.querySelector("select")}},!0),r}},function(t,e,i){t.exports=function(t){var e=i(7)(t),n=i(0);function r(){return e.apply(this,arguments)||this}return i(2)(r,e),n.mixin(r.prototype,{show:function(t,e,i,n){var r="";n.innerHTML=r},get_value:function(t,e,i){return this.get_input(i).value||""},is_valid:function(t,e,i,n){return!isNaN(parseInt(t,10))}},!0),r}},function(t,e,i){t.exports=function(t){var e=i(7)(t),n=i(0);function r(){return e.apply(this,arguments)||this}return i(2)(r,e),n.mixin(r.prototype,{show:function(t,e,i,n){var r="";n.innerHTML=r}},!0),r}},function(t,e){t.exports={init:function(t,e){var i=t,n=e.$gantt,r=null,a=n.ext.keyboardNavigation;a.attachEvent("onBeforeFocus",function(e){var n=t.locateCell(e);if(clearTimeout(r),n){var a=n.columnName,s=n.id,o=i.getState();if(i.isVisible()&&o.id==s&&o.columnName===a)return!1}return!0}),a.attachEvent("onFocus",function(e){var n=t.locateCell(e),a=t.getState();return clearTimeout(r),!n||n.id==a.id&&n.columnName==a.columnName||i.isVisible()&&i.save(),!0}),t.attachEvent("onHide",function(){clearTimeout(r)}),a.attachEvent("onBlur",function(){return r=setTimeout(function(){i.save()}),!0}),n.attachEvent("onTaskDblClick",function(e,i){var n=t.getState(),r=t.locateCell(i.target);return!r||!t.isVisible()||r.columnName!=n.columnName}),n.attachEvent("onTaskClick",function(e,i){if(n._is_icon_open_click(i))return!0;var r=t.getState(),a=t.locateCell(i.target);return!a||!t.getEditorConfig(a.columnName)||(t.isVisible()&&r.id==a.id&&r.columnName==a.columnName||t.startEdit(a.id,a.columnName),!1)}),n.attachEvent("onEmptyClick",function(){return i.save(),!0}),a.attachEvent("onKeyDown",function(e,r){var s=t.locateCell(r.target),o=!!s&&t.getEditorConfig(s.columnName),l=t.getState(),c=n.constants.KEY_CODES,d=r.keyCode,h=!1;switch(d){case c.ENTER:t.isVisible()?(t.save(),r.preventDefault(),h=!0):o&&!(r.ctrlKey||r.metaKey||r.shiftKey)&&(i.startEdit(s.id,s.columnName),r.preventDefault(),h=!0);break;case c.ESC:t.isVisible()&&(t.hide(),r.preventDefault(),h=!0);break;case c.UP:case c.DOWN:break;case c.LEFT:case c.RIGHT:"date"===l.editorType&&(h=!0);break;case c.SPACE:t.isVisible()&&(h=!0),o&&!t.isVisible()&&(i.startEdit(s.id,s.columnName),r.preventDefault(),h=!0);break;case c.DELETE:o&&!t.isVisible()&&(i.startEdit(s.id,s.columnName),h=!0);break;case c.TAB:if(t.isVisible()){r.shiftKey?t.editPrevCell(!0):t.editNextCell(!0);var u=t.getState();u.id&&a.focus({type:"taskCell",id:u.id,column:u.columnName}),r.preventDefault(),h=!0}break;default:t.isVisible()?h=!0:(d>=48&&d<=57||d>95&&d<112||d>=64&&d<=91||d>185&&d<193||d>218&&d<223)&&o&&!t.isVisible()&&(i.startEdit(s.id,s.columnName),h=!0)}return!h})},onShow:function(t,e,i){},onHide:function(t,e,i){i.$gantt.focus()},destroy:function(){}}},function(t,e){t.exports={init:function(t,e){var i=e.$gantt;i.attachEvent("onTaskClick",function(e,n){if(i._is_icon_open_click(n))return!0;var r=t.getState(),a=t.locateCell(n.target);return!a||!t.getEditorConfig(a.columnName)||(t.isVisible()&&r.id==a.id&&r.columnName==a.columnName||t.startEdit(a.id,a.columnName),!1)}),i.attachEvent("onEmptyClick",function(){return t.hide(),!0}),i.attachEvent("onTaskDblClick",function(e,i){var n=t.getState(),r=t.locateCell(i.target);return!r||!t.isVisible()||r.columnName!=n.columnName})},onShow:function(t,e,i){if(!i.$getConfig().keyboard_navigation){var n=i.$gantt;e.onkeydown=function(e){e=e||window.event;var i=n.constants.KEY_CODES;if(!(e.defaultPrevented||e.shiftKey&&e.keyCode!=i.TAB)){var r=!0;switch(e.keyCode){case n.keys.edit_save:t.save();break;case n.keys.edit_cancel:t.hide();break;case i.TAB:e.shiftKey?t.editPrevCell(!0):t.editNextCell(!0);break;default:r=!1}r&&e.preventDefault()}}}},onHide:function(){},destroy:function(){}}},function(t,e,i){var n=i(113),r=i(112);t.exports=function(t){var e=null;return{setMapping:function(t){e=t},getMapping:function(){return e||(t.config.keyboard_navigation_cells?r:n)}}}},function(t,e,i){var n=i(114),r=i(111),a=i(110),s=i(109),o=i(108),l=i(107),c=i(0),d=i(1),h=i(4);function u(t){t.config.editor_types={text:new(r(t)),number:new(a(t)),select:new(s(t)),date:new(o(t)),predecessor:new(l(t))}}t.exports=function(t){var e=n(t),i={};h(i);var r={init:u,createEditors:function(n){function r(t,e){var i=function(t,e){for(var i=n.getItemTop(t),r=n.getItemHeight(t),a=n.getGridColumns(),s=0,o=0,l=0;l0?t.getNext(this._itemId):t.getPrev(this._itemId)},editNextRow:function(){var t=this.getNextCell(1);t&&this.startEdit(t,this._columnName)},editPrevRow:function(){var t=this.getNextCell(-1);t&&this.startEdit(t,this._columnName)},destructor:function(){a.forEach(function(t){s.detachEvent(t)}),s=null,this.hide(),this.detachAllEvents()}};return c.mixin(o,e),c.mixin(o,i),o}};return c.mixin(r,e),c.mixin(r,i),r}},function(t,e,i){var n=i(0),r=i(28),a=i(12),s=i(2),o=function(t){function e(e,i,n,r){var a=t.apply(this,arguments)||this;return a.$config.bindLinks=null,a}return s(e,t),n.mixin(e.prototype,{_createLayerConfig:function(){var t=this,e=function(){return t.isVisible()};return{tasks:[{renderer:this.$gantt.$ui.layers.resourceHistogram,container:this.$task_bars,filter:[e]},{renderer:this.$gantt.$ui.layers.taskBg,container:this.$task_bg,filter:[e]}],links:[]}}},!0),n.mixin(e.prototype,a(t),!0),e}(r);t.exports=o},function(t,e,i){var n=i(1),r=i(0),a=i(12),s=i(14),o=i(2),l=function(t){function e(e,i,n,r){return t.apply(this,arguments)||this}return o(e,t),r.mixin(e.prototype,{init:function(){void 0===this.$config.bind&&(this.$config.bind=this.$getConfig().resource_store),t.prototype.init.apply(this,arguments)},_initEvents:function(){var e=this.$gantt;t.prototype._initEvents.apply(this,arguments),this._mouseDelegates.delegate("click","gantt_row",e.bind(function(t,e,i){var r=this.$config.rowStore;if(!r)return!0;var a=n.locateAttribute(t,this.$config.item_attribute);return a&&r.select(a.getAttribute(this.$config.item_attribute)),!1},this),this.$grid)}},!0),r.mixin(e.prototype,a(e),!0),e}(s);t.exports=l},function(t,e,i){var n=i(1);t.exports=function(t,e){var i={column_before_start:t.bind(function(t,i,r){var a=e.$getConfig();if(!n.locateAttribute(r,a.grid_resizer_column_attribute))return!1;var s=this.locate(r,a.grid_resizer_column_attribute),o=e.getGridColumns()[s];return!1!==e.callEvent("onColumnResizeStart",[s,o])&&void 0},t),column_after_start:t.bind(function(t,i,n){var r=e.$getConfig(),a=this.locate(n,r.grid_resizer_column_attribute);t.config.marker.innerHTML="",t.config.marker.className+=" gantt_grid_resize_area",t.config.marker.style.height=e.$grid.offsetHeight+"px",t.config.marker.style.top="0px",t.config.drag_index=a},t),column_drag_move:t.bind(function(i,r,a){var s=e.$getConfig(),o=i.config,l=e.getGridColumns(),c=parseInt(o.drag_index,10),d=l[c],h=n.getNodePosition(e.$grid_scale),u=parseInt(o.marker.style.left,10),f=d.min_width?d.min_width:s.min_grid_column_width,g=e.$grid_data.offsetWidth,_=0,p=0;s.rtl?u=h.x+h.width-1-u:u-=h.x-1;for(var v=0;vg&&(u=g)}else if(!e.$config.scrollable){var y=u,k=0;for(v=c+1;vt.$container.offsetWidth&&(u=t.$container.offsetWidth-k)}return o.left=u-1,p=Math.abs(u-_),d.max_width&&p>d.max_width&&(p=d.max_width),s.rtl&&(_=h.width-_+2-p),o.marker.style.top=h.y+"px",o.marker.style.left=h.x-1+_+"px",o.marker.style.width=p+"px",e.callEvent("onColumnResize",[c,l[c],p-1]),!0},t),column_drag_end:t.bind(function(i,n,r){for(var a=e.$getConfig(),s=e.getGridColumns(),o=0,l=parseInt(i.config.drag_index,10),c=s[l],d=0;d",d.setAttribute(n.grid_resizer_column_attribute,o),t._waiAria.gridSeparatorAttr(d),e.$grid_scale.appendChild(d),d.style.left=Math.max(0,l)+"px"}}}}}},function(t,e,i){var n=i(0),r=i(8),a=function(t,e){var i={},n="gantt-static-bg-styles-"+t.uid();function r(t){var e=/^rgba?\(([\d]{1,3}), *([\d]{1,3}), *([\d]{1,3}) *(,( *[\d.]+ *))?\)$/i.exec(t);return e?{r:1*e[1],g:1*e[2],b:1*e[3],a:255*e[5]||255}:null}function a(t){return i[t]||null}function s(t,e,i){return(t+""+e+i.bottomBorderColor+i.rightBorderColor).replace(/[^\w\d]/g,"")}function o(t,e){i[t]=e}function l(t,e,i){var n=Math.floor(500/t)||1,a=Math.floor(500/e)||1,s=document.createElement("canvas");s.height=e*a,s.width=t*n;var o=s.getContext("2d");return function(t,e,i,n,a,s){var o=a.createImageData(e*n,t*i);o.imageSmoothingEnabled=!1;for(var c=1*s.rightBorderWidth,d=r(s.rightBorderColor),h=0,u=0,f=0,g=1;g<=n;g++)for(h=g*e-1,f=0;fh){for(var _=r,p=0,v=Math.floor(h/i.row_height)*i.row_height,m=l;_>0;){var y=Math.min(_,v);_-=v,(a=document.createElement("div")).style.height=y+"px",a.style.position="absolute",a.style.top=p+"px",a.style.left=d+"px",a.style.whiteSpace="no-wrap",a.className=t[s||g],f==c.length-1&&(m=g+m-1),a.style.width=m+"px",o.push(a),p+=y}l=0,d+=m}g&&(l+=g,s=g)}return o}(function(t,e,i){var r={},d=function(t){for(var e=t.width,i={},n=0;nr.length-1||a<=0||n>r.length-1)){var s=t-this.getSum(r,i,n);this.adjustSize(s,r,i,n),this.adjustSize(-s,r,n+1),e.full_width=this.getSum(r)}},splitSize:function(t,e){for(var i=[],n=0;ni(e.unit,e.step)?-1:0});for(var n=0;n=0;d--){var h=d==t.length-1,u=this.initScaleConfig(t[d],r,a);h&&this.processIgnores(u),this.initColSizes(u,e,l,o[d]),this.limitVisibleRange(u),h&&(l=u.full_width),c.unshift(u)}for(d=0;d=+l&&(l=e.add(c,n,i));+c<+l;){s.call(this,new Date(c));var d=c.getTimezoneOffset();c=e.add(c,n,i),c=t._correct_dst_change(c,d,n,i),e[i+"_start"]&&(c=e[i+"_start"](c))}},limitVisibleRange:function(t){var i=t.trace_x,n=t.width.length-1,r=0;if(+i[0]<+t.min_date&&0!=n){var a=Math.floor(t.width[0]*((i[1]-t.min_date)/(i[1]-i[0])));r+=t.width[0]-a,t.width[0]=a,i[0]=new Date(t.min_date)}var s=i.length-1,o=i[s],l=e.add(o,t.step,t.unit);if(+l>+t.max_date&&s>0&&(a=t.width[s]-Math.floor(t.width[s]*((l-t.max_date)/(l-o))),r+=t.width[s]-a,t.width[s]=a),r){for(var c=this.getSum(t.width),d=0,h=0;h"},e.prototype._getRootParent=function(){for(var t=this.$parent;t&&t.$parent;)t=t.$parent;if(t)return t},e.prototype._eachView=function(){var t=[];return function t(e,i){if(i.push(e),e.$cells)for(var n=0;nh[o]&&h[s]>e&&d>h[o]-l+2&&(e=d+(n?0:2),i=h[o]);else{var u=Math.max(h[s]-d,0);(d+=u)>Math.max(h[o]-u,0)&&d>e&&(e=d,i=h[o])}}return{outerScroll:i,innerScroll:e}},e.prototype.scroll=function(t){this._isHorizontal()?this.scrollHorizontally(t):this.scrollVertically(t)},e.prototype.getScrollState=function(){return{visible:this.isVisible(),direction:this.$config.scroll,size:this.$config.outerSize,scrollSize:this.$config.scrollSize||0,position:this.$config.scrollPosition||0}},e.prototype.setSize=function(e,i){t.prototype.setSize.apply(this,arguments);var n=this._getScrollSize(),r=(this._isVertical()?i:e)-this._getScrollOffset()+(this._isHorizontal()?1:0);n.innerScroll&&r>n.outerScroll&&(n.innerScroll+=r-n.outerScroll),this.$config.scrollSize=n.innerScroll,this.$config.width=e,this.$config.height=i,this._setScrollSize(n.innerScroll)},e.prototype.isVisible=function(){return!(!this.$parent||!this.$parent.$view.parentNode)},e.prototype.shouldShow=function(){var t=this._getScrollSize();return!(!t.innerScroll&&this.$parent&&this.$parent.$view.parentNode)&&!(!t.innerScroll||this.$parent&&this.$parent.$view.parentNode)},e.prototype.shouldHide=function(){return!(this._getScrollSize().innerScroll||!this.$parent||!this.$parent.$view.parentNode)},e.prototype.toggleVisibility=function(){this.shouldHide()?this.hide():this.shouldShow()&&this.show()},e.prototype._getScaleOffset=function(t){var e=0;return!t||"timeline"!=t.$config.view&&"grid"!=t.$config.view||(e=t.$content.$getConfig().scale_height),e},e.prototype._getScrollOffset=function(){var t=0;if(this._isVertical()){var e=this.$parent.$parent;t=Math.max(this._getScaleOffset(e.getPrevSibling(this.$parent.$id)),this._getScaleOffset(e.getNextSibling(this.$parent.$id)))}else for(var i=this._getLinkedViews(),n=0;nMath.abs(a)){if(this._isVertical())return;if(i.x)return!0;if(!this.$scroll_hor||!this.$scroll_hor.offsetWidth)return!0;var o=r/-40,l=this._oldLeft,c=l+30*o;if(this.scrollHorizontally(c),this.$scroll_hor.scrollLeft=c,l==this.$scroll_hor.scrollLeft)return!0;this._oldLeft=this.$scroll_hor.scrollLeft}else{if(this._isHorizontal())return;if(i.y)return!0;if(!this.$scroll_ver||!this.$scroll_ver.offsetHeight)return!0;o=a/-40;void 0===a&&(o=t.detail);var d=this._oldTop,h=this.$scroll_ver.scrollTop+30*o;if(this.scrollVertically(h),this.$scroll_ver.scrollTop=h,d==this.$scroll_ver.scrollTop)return!0;this._oldTop=this.$scroll_ver.scrollTop}return t.preventDefault&&t.preventDefault(),t.cancelBubble=!0,!1}},e}(i(6));t.exports=o},function(t,e,i){var n=i(2),r=i(1),a=i(0),s=i(6),o=function(t){"use strict";function e(e,i,n){var r,a,s=t.apply(this,arguments)||this;return s._moveHandler=function(t){s._moveResizer(s._resizer,t.pageX,t.pageY)},s._upHandler=function(){var t=s._getNewSizes();!1!==s.callEvent("onResizeEnd",[r,a,t?t.back:0,t?t.front:0])&&s._setSizes(),s._setBackground(!1),s._clearResizer(),s._clearListeneres()},s._clearListeneres=function(){this.$domEvents.detach(document,"mouseup",s._upHandler),this.$domEvents.detach(document,"mousemove",s._moveHandler),this.$domEvents.detach(document,"mousemove",s._startOnMove),this.$domEvents.detach(document,"mouseup",s._cancelDND)},s._callStartDNDEvent=function(){if(this._xMode?(r=this._behind.$config.width||this._behind.$view.offsetWidth,a=this._front.$config.width||this._front.$view.offsetWidth):(r=this._behind.$config.height||this._behind.$view.offsetHeight,a=this._front.$config.height||this._front.$view.offsetHeight),!1===s.callEvent("onResizeStart",[r,a]))return!1},s._startDND=function(t){if(!1!==this._callStartDNDEvent()){var e=!1;this._eachGroupItem(function(t){t._getSiblings(),!1===t._callStartDNDEvent()&&(e=!0)}),e||(s._moveHandler(t),s.$domEvents.attach(document,"mousemove",s._moveHandler),s.$domEvents.attach(document,"mouseup",s._upHandler))}},s._cancelDND=function(){s._setBackground(!1),s._clearResizer(),s._clearListeneres()},s._startOnMove=function(t){s._isPosChanged(t)&&(s._clearListeneres(),s._startDND(t))},s._downHandler=function(t){s._getSiblings(),s._behind.$config.collapsed||s._front.$config.collapsed||(s._setBackground(!0),s._resizer=s._setResizer(),s._positions={x:t.pageX,y:t.pageY,timestamp:Date.now()},s.$domEvents.attach(document,"mousemove",s._startOnMove),s.$domEvents.attach(document,"mouseup",s._cancelDND))},s.$name="resizer",s}return n(e,t),e.prototype.init=function(){t.prototype.init.call(this),this._xMode="x"===this.$config.mode,this._xMode&&!this.$config.width?this.$config.width=this.$config.minWidth=1:this._xMode||this.$config.height||(this.$config.height=this.$config.minHeight=1),this.$config.margin=-1,this.$domEvents.attach(this.$view,"mousedown",this._downHandler)},e.prototype.$toHTML=function(){var t=this.$config.mode,e=this.$config.css||"";return""},e.prototype._clearResizer=function(){this._resizer&&(this._resizer.parentNode&&this._resizer.parentNode.removeChild(this._resizer),this._resizer=null)},e.prototype._isPosChanged=function(t){return!!this._positions&&(Math.abs(this._positions.x-t.pageX)>3||Math.abs(this._positions.y-t.pageY)>3||Date.now()-this._positions.timestamp>300)},e.prototype._getSiblings=function(){var t=this.$parent.getCells();this.$config.prev&&(this._behind=this.$factory.getView(this.$config.prev),this._behind instanceof s||(this._behind=this._behind.$parent)),this.$config.next&&(this._front=this.$factory.getView(this.$config.next),this._front instanceof s||(this._front=this._behind.$parent));for(var e=0;ethis._front.$config.maxWidth)return;Math.abs(i)>=n&&(i=-Math.abs(n-2)),n-Math.abs(i)<=r&&(i=-Math.abs(n-r))}else l=a-Math.abs(i),o=n+i,n+i>this._behind.$config.maxWidth&&(i=this._behind.$config.maxWidth-n),Math.abs(i)>=a&&(i=a-2),a-Math.abs(i)<=s&&(i=Math.abs(a-s));return-1===c?(l=a-i,o=n-Math.abs(i)):(l=a-Math.abs(i),o=n+i),{size:i,newFrontSide:l,newBehindSide:o}},e.prototype._getGroupName=function(){return this._getSiblings(),this._front.$config.group||this._behind.$config.group},e.prototype._eachGroupItem=function(t,e){for(var i=this.$factory.getView("main"),n=this._getGroupName(),r=i.getCellsByType("resizer"),a=0;an.newBehindSide&&(n=r[s])}return n},e.prototype._moveResizer=function(t,e,i){if(0!==e){var n=this._getGroupResizePosition(e,i);n&&1!==Math.abs(n.size)&&(this._xMode?(t.style.left=n.size+"px",this._positions.nextX=n.size||0):(t.style.top=n.size+"px",this._positions.nextY=n.size||0),this.callEvent("onResize",[n.newBehindSide,n.newFrontSide]))}},e.prototype._setGravity=function(t){var e=this._xMode?"offsetWidth":"offsetHeight",i=this._xMode?this._positions.nextX:this._positions.nextY,n=this._front.$view[e],r=this._behind.$view[e],a=(n-i)/n*this._front.getSize().gravity,s=(r+i)/r*this._behind.getSize().gravity;"front"!==t&&(this._front.$config.gravity=a),"behind"!==t&&(this._behind.$config.gravity=s)},e.prototype._getNewSizes=function(){var t=this._xMode?this._behind.$config.width:this._behind.$config.height,e=this._xMode?this._front.$config.width:this._front.$config.height,i=this._xMode?this._positions.nextX:this._positions.nextY;return e||t?{front:e?e-i||1:0,back:t?t+i||1:0}:null},e.prototype._assignNewSizes=function(t){this._getSiblings();var e=this._xMode?"width":"height";t?(t.front?this._front.$config[e]=t.front:this._setGravity("behind"),t.back?this._behind.$config[e]=t.back:this._setGravity("front")):this._setGravity()},e.prototype._setSizes=function(){this._resizer&&this.$view.removeChild(this._resizer);var t=this._getNewSizes();if(this._positions.nextX||this._positions.nextY){this._assignNewSizes(t);var e=this._xMode?"width":"height";this._front.$config.group?this.$gantt.$layout._syncCellSizes(this._front.$config.group,this._front.$config[e]):this._behind.$config.group&&this.$gantt.$layout._syncCellSizes(this._behind.$config.group,this._behind.$config[e]),this._getGroupName()?this.$factory.getView("main").resize():this.$parent.resize()}},e}(s);t.exports=o},function(t,e,i){var n=i(2),r=i(0),a=function(t){"use strict";function e(e,i,n){var a=t.apply(this,arguments)||this;if(i.view){i.id&&(this.$id=r.uid());var s=r.copy(i);if(delete s.config,delete s.templates,this.$content=this.$factory.createView(i.view,this,s,this),!this.$content)return!1}return a.$name="viewCell",a}return n(e,t),e.prototype.destructor=function(){this.clear(),t.prototype.destructor.call(this)},e.prototype.clear=function(){if(this.$initialized=!1,this.$content){var e=this.$content.unload||this.$content.destructor;e&&e.call(this.$content)}t.prototype.clear.call(this)},e.prototype.scrollTo=function(e,i){this.$content&&this.$content.scrollTo?this.$content.scrollTo(e,i):t.prototype.scrollTo.call(this,e,i)},e.prototype._setContentSize=function(t,e){var i=this._getBorderSizes(),n=t+i.horizontal,r=e+i.vertical;this.$config.width=n,this.$config.height=r},e.prototype.setSize=function(e,i){if(t.prototype.setSize.call(this,e,i),!this.$preResize&&this.$content&&!this.$initialized){this.$initialized=!0;var n=this.$view.childNodes[0],r=this.$view.childNodes[1];r||(r=n),this.$content.init(r)}},e.prototype.setContentSize=function(){!this.$preResize&&this.$content&&this.$initialized&&this.$content.setSize(this.$lastSize.contentX,this.$lastSize.contentY)},e.prototype.getContentSize=function(){var e=t.prototype.getContentSize.call(this);if(this.$content&&this.$initialized){var i=this.$content.getSize();e.width=void 0===i.contentX?i.width:i.contentX,e.height=void 0===i.contentY?i.height:i.contentY}var n=this._getBorderSizes();return e.width+=n.horizontal,e.height+=n.vertical,e},e}(i(6));t.exports=a},function(t,e,i){var n=i(2),r=i(32),a=i(6),s=function(t){"use strict";function e(e,i,n){for(var r=t.apply(this,arguments)||this,a=0;a-1&&s.click?s.click():(a(i,!0),n=!0)}27==e&&(a(i,!1),n=!0)}return n?(t.preventDefault&&t.preventDefault(),!(t.cancelBubble=!0)):void 0}}function o(t){o.cover||(o.cover=document.createElement("div"),o.cover.onkeydown=s,o.cover.className="dhx_modal_cover",document.body.appendChild(o.cover)),o.cover.style.display=t?"inline-block":"none"}function l(e,i,n){var r=t._waiAria.messageButtonAttrString(e),a=i.toLowerCase().replace(/ /g,"_");return""}function c(){for(var t=[].slice.apply(arguments,[0]),e=0;e