dhtmlx-gantt
Advanced tools
Comparing version 6.0.4 to 6.0.7
{ | ||
"name": "gantt", | ||
"version": "6.0.4", | ||
"version": "6.0.7", | ||
"homepage": "https://dhtmlx.com/docs/products/dhtmlxGantt/", | ||
@@ -5,0 +5,0 @@ "description": "An open source JavaScript Gantt chart that helps you illustrate a project schedule in a nice-looking chart.", |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -9,3 +9,3 @@ | ||
*/!function(e){var t={};function n(l){if(t[l])return t[l].exports;var o=t[l]={i:l,l:!1,exports:{}};return e[l].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,l){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:l})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var l=Object.create(null);if(n.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(l,o,function(t){return e[t]}.bind(null,o));return l},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/codebase/",n(n.s=203)}({203:function(e,t){!function(){gantt._fs_change=[];var e=gantt.getState;gantt.getState=function(){var t=e.apply(this,arguments);return t.fullscreen=!!this._expanded,t},gantt._onFullScreenChange=function(){if(gantt.$container){gantt.getState().fullscreen&&(gantt._isFullScreenActive()||gantt.collapse());var e=gantt._fs_change.length?gantt._fs_change.pop():null;if(gantt._expanded=!gantt._expanded,e)if(e.condition())e.callback();else{var t=setInterval(function(){e.condition()&&(clearInterval(t),t=null,e.callback())},10);setTimeout(function(){t&&(clearInterval(t),e.callback())},100)}else gantt.render()}},gantt._isFullScreenActive=function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},gantt._isFullScreenAvailable=function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled},gantt.event(document,"webkitfullscreenchange",gantt._onFullScreenChange),gantt.event(document,"mozfullscreenchange",gantt._onFullScreenChange),gantt.event(document,"MSFullscreenChange",gantt._onFullScreenChange),gantt.event(document,"fullscreenChange",gantt._onFullScreenChange),gantt.event(document,"fullscreenchange",gantt._onFullScreenChange),gantt.expand=function(){if(gantt.callEvent("onBeforeExpand",[])){gantt._toggleFullScreen(!0);var e=gantt.$root;do{e._position=e.style.position||"",e.style.position="static"}while((e=e.parentNode)&&e.style);(e=gantt.$root).style.position="absolute",e._width=e.style.width,e._height=e.style.height,e.style.width=e.style.height="100%",e.style.top=e.style.left="0px";var t=document.body;t.scrollTop=0,(t=t.parentNode)&&(t.scrollTop=0),document.body._overflow=document.body.style.overflow||"",document.body.style.overflow="hidden",document.body._width=document.body.style.width,document.body._height=document.body.style.height;var n=function(){document.documentElement.msRequestFullscreen&&gantt.$root&&(gantt.$root.style.width=document.body.style.width=window.outerWidth+"px",gantt.$root.style.height=document.body.style.height=window.outerHeight+"px"),gantt.render(),gantt.callEvent("onExpand",[])};if(gantt._isFullScreenAvailable()){var l=window.outerHeight,o=window.outerWidth;gantt._fs_change.push({condition:function(){return l<window.outerHeight&&o<=window.outerWidth},callback:n})}else gantt._expanded=!gantt._expanded,n()}},gantt.collapse=function(){if(gantt.callEvent("onBeforeCollapse",[])){var e=gantt.$root;do{e.style.position=e._position}while((e=e.parentNode)&&e.style);(e=gantt.$root).style.width=e._width,e.style.height=e._height,document.body.style.overflow=document.body._overflow,document.body.style.width=document.body._width,document.body.style.height=document.body._height,gantt._toggleFullScreen(!1);var t=function(){gantt.render(),gantt.callEvent("onCollapse",[])};if(gantt._isFullScreenAvailable()){var n=window.outerHeight,l=window.outerWidth;gantt._fs_change.push({condition:function(){return n>window.outerHeight&&l>=window.outerWidth},callback:t})}else gantt._expanded=!gantt._expanded,t()}},gantt._toggleFullScreen=function(e){!e&&(document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement)?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.msRequestFullscreen?document.documentElement.msRequestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullscreen&&document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}}()}}); | ||
*/!function(e){var t={};function n(l){if(t[l])return t[l].exports;var o=t[l]={i:l,l:!1,exports:{}};return e[l].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,l){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:l})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var l=Object.create(null);if(n.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(l,o,function(t){return e[t]}.bind(null,o));return l},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/codebase/",n(n.s=203)}({203:function(e,t){!function(){var e=gantt.getState;function t(){var e=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement;return e&&e===gantt.$root}gantt.getState=function(){var n=e.apply(this,arguments);return n.fullscreen=t(),n};var n=!1,l={width:null,height:null,modified:!1};function o(){gantt.$container&&(t()?(n=!0,function(){var e=gantt.$root;e.offsetWidth<window.innerWidth&&(l.width=e.style.width,l.height=e.style.height,e.style.width="100vw",e.style.height="100vh",l.modified=!0)}(),setTimeout(function(){gantt.callEvent("onExpand")})):n&&(n=!1,function(){var e=gantt.$root;l.modified&&(e.style.width=l.width,e.style.height=l.height,l.modified=!1)}(),setTimeout(function(){gantt.callEvent("onCollapse")})))}function u(){return!gantt.$container||!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)&&((console.warning||console.log)("The `fullscreen` feature not being allowed, or full-screen mode not being supported"),!0)}gantt.event(document,"webkitfullscreenchange",o),gantt.event(document,"mozfullscreenchange",o),gantt.event(document,"MSFullscreenChange",o),gantt.event(document,"fullscreenChange",o),gantt.event(document,"fullscreenchange",o),gantt.expand=function(){if(!u()&&gantt.callEvent("onBeforeExpand",[])){var e=gantt.$root;e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}},gantt.collapse=function(){u()||t()&&gantt.callEvent("onBeforeCollapse",[])&&(document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen())}}()}}); | ||
//# sourceMappingURL=dhtmlxgantt_fullscreen.js.map |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -9,3 +9,3 @@ | ||
*/!function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=202)}({1:function(t,e){function n(t){var e=0,n=0,o=0,i=0;if(t.getBoundingClientRect){var a=t.getBoundingClientRect(),r=document.body,s=document.documentElement||document.body.parentNode||document.body,d=window.pageYOffset||s.scrollTop||r.scrollTop,l=window.pageXOffset||s.scrollLeft||r.scrollLeft,c=s.clientTop||r.clientTop||0,u=s.clientLeft||r.clientLeft||0;e=a.top+d-c,n=a.left+l-u,o=document.body.offsetWidth-a.right,i=document.body.offsetHeight-a.bottom}else{for(;t;)e+=parseInt(t.offsetTop,10),n+=parseInt(t.offsetLeft,10),t=t.offsetParent;o=document.body.offsetWidth-t.offsetWidth-n,i=document.body.offsetHeight-t.offsetHeight-e}return{y:Math.round(e),x:Math.round(n),width:t.offsetWidth,height:t.offsetHeight,right:Math.round(o),bottom:Math.round(i)}}function o(t){var e=!1,n=!1;if(window.getComputedStyle){var o=window.getComputedStyle(t,null);e=o.display,n=o.visibility}else t.currentStyle&&(e=t.currentStyle.display,n=t.currentStyle.visibility);return"none"!=e&&"hidden"!=n}function i(t){return!isNaN(t.getAttribute("tabindex"))&&1*t.getAttribute("tabindex")>=0}function a(t){return!{a:!0,area:!0}[t.nodeName.loLowerCase()]||!!t.getAttribute("href")}function r(t){return!{input:!0,select:!0,textarea:!0,button:!0,object:!0}[t.nodeName.toLowerCase()]||!t.hasAttribute("disabled")}function s(t){if(!t)return"";var e=t.className||"";return e.baseVal&&(e=e.baseVal),e.indexOf||(e=""),c(e)}var d=document.createElement("div");function l(t){return t.tagName?t:(t=t||window.event).target||t.srcElement}function c(t){return(String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")}).apply(t)}t.exports={getNodePosition:n,getFocusableNodes:function(t){for(var e=t.querySelectorAll(["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"].join(", ")),n=Array.prototype.slice.call(e,0),s=0;s<n.length;s++){var d=n[s];(i(d)||r(d)||a(d))&&o(d)||(n.splice(s,1),s--)}return n},getScrollSize:function(){var t=document.createElement("div");t.style.cssText="visibility:hidden;position:absolute;left:-1000px;width:100px;padding:0px;margin:0px;height:110px;min-height:100px;overflow-y:scroll;",document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},getClassName:s,addClassName:function(t,e){e&&-1===t.className.indexOf(e)&&(t.className+=" "+e)},removeClassName:function(t,e){e=e.split(" ");for(var n=0;n<e.length;n++){var o=new RegExp("\\s?\\b"+e[n]+"\\b(?![-_.])","");t.className=t.className.replace(o,"")}},insertNode:function(t,e){d.innerHTML=e;var n=d.firstChild;return t.appendChild(n),n},removeNode:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},getChildNodes:function(t,e){for(var n=t.childNodes,o=n.length,i=[],a=0;a<o;a++){var r=n[a];r.className&&-1!==r.className.indexOf(e)&&i.push(r)}return i},toNode:function(t){return"string"==typeof t?document.getElementById(t)||document.querySelector(t)||document.body:t||document.body},locateClassName:function(t,e,n){var o=l(t),i="";for(void 0===n&&(n=!0);o;){if(i=s(o)){var a=i.indexOf(e);if(a>=0){if(!n)return o;var r=0===a||!c(i.charAt(a-1)),d=a+e.length>=i.length||!c(i.charAt(a+e.length));if(r&&d)return o}}o=o.parentNode}return null},locateAttribute:function(t,e){if(e){for(var n=l(t);n;){if(n.getAttribute&&n.getAttribute(e))return n;n=n.parentNode}return null}},getTargetNode:l,getRelativeEventPosition:function(t,e){var o=document.documentElement,i=n(e);return{x:t.clientX+o.scrollLeft-o.clientLeft-i.x+e.scrollLeft,y:t.clientY+o.scrollTop-o.clientTop-i.y+e.scrollTop}},isChildOf:function(t,e){if(!t||!e)return!1;for(;t&&t!=e;)t=t.parentNode;return t===e},hasClass:function(t,e){return"classList"in t?t.classList.contains(e):new RegExp("\\b"+e+"\\b").test(t.className)}}},192:function(t,e){t.exports=function(t){t.$keyboardNavigation.dispatcher={isActive:!1,activeNode:null,globalNode:new t.$keyboardNavigation.GanttNode,enable:function(){this.isActive=!0,this.globalNode.enable(),this.setActiveNode(this.getActiveNode())},disable:function(){this.isActive=!1,this.globalNode.disable()},isEnabled:function(){return!!this.isActive},getDefaultNode:function(){var e;return(e=t.config.keyboard_navigation_cells?new t.$keyboardNavigation.TaskCell:new t.$keyboardNavigation.TaskRow).isValid()||(e=e.fallback()),e},setDefaultNode:function(){this.setActiveNode(this.getDefaultNode())},getActiveNode:function(){var t=this.activeNode;return t&&!t.isValid()&&(t=t.fallback()),t},fromDomElement:function(e){for(var n=[t.$keyboardNavigation.TaskRow,t.$keyboardNavigation.TaskCell,t.$keyboardNavigation.HeaderCell],o=0;o<n.length;o++)if(n[o].prototype.fromDomElement){var i=n[o].prototype.fromDomElement(e);if(i)return i}return null},focusGlobalNode:function(){this.blurNode(this.globalNode),this.focusNode(this.globalNode)},setActiveNode:function(t){var e=!0;this.activeNode&&this.activeNode.compareTo(t)&&(e=!1),this.isEnabled()&&(e&&this.blurNode(this.activeNode),this.activeNode=t,this.focusNode(this.activeNode,!e))},focusNode:function(t,e){t&&t.focus&&t.focus(e)},blurNode:function(t){t&&t.blur&&t.blur()},keyDownHandler:function(e){if(!t.$keyboardNavigation.isModal()&&this.isEnabled()&&!(e=e||window.event).defaultPrevented){var n=this.globalNode,o=t.$keyboardNavigation.shortcuts.getCommandFromEvent(e),i=this.getActiveNode();!1!==t.$keyboardNavigation.facade.callEvent("onKeyDown",[o,e])&&(i?i.findHandler(o)?i.doAction(o,e):n.findHandler(o)&&n.doAction(o,e):this.setDefaultNode())}},_timeout:null,awaitsFocus:function(){return null!==this._timeout},delay:function(e,n){clearTimeout(this._timeout),this._timeout=setTimeout(t.bind(function(){this._timeout=null,e()},this),n||1)},clearDelay:function(){clearTimeout(this._timeout)}}}},193:function(t,e){t.exports=function(t){!function(){var e=[];function n(){return!!e.length}function o(e){setTimeout(function(){n()||t.focus()},1)}function i(n){t.eventRemove(n,"keydown",r),t.event(n,"keydown",r),e.push(n)}function a(){var n=e.pop();n&&t.eventRemove(n,"keydown",r),o()}function r(n){var o=(n=n||window.event).currentTarget;(function(t){return t==e[e.length-1]})(o)&&t.$keyboardNavigation.trapFocus(o,n)}function s(){i(t.getLightbox())}t.attachEvent("onLightbox",s),t.attachEvent("onAfterLightbox",a),t.attachEvent("onLightboxChange",function(){a(),s()}),t.attachEvent("onAfterQuickInfo",function(){o()}),t.attachEvent("onMessagePopup",function(t){d=document.activeElement,i(t)}),t.attachEvent("onAfterMessagePopup",function(){a(),setTimeout(function(){d&&(d.focus(),d=null)},1)});var d=null;t.$keyboardNavigation.isModal=n}()}},194:function(t,e,n){t.exports=function(t){var e=n(1);t.$keyboardNavigation.TaskCell=function(e,n){if(!e){var o=t.getChildren(t.config.root_id);o[0]&&(e=o[0])}this.taskId=e,this.columnIndex=n||0,this.index=t.getTaskIndex(this.taskId)},t.$keyboardNavigation.TaskCell.prototype=t._compose(t.$keyboardNavigation.TaskRow,{_handlers:null,isValid:function(){return t.$keyboardNavigation.TaskRow.prototype.isValid.call(this)&&!!t.getGridColumns()[this.columnIndex]},fallback:function(){var e=t.$keyboardNavigation.TaskRow.prototype.fallback.call(this);if(e instanceof t.$keyboardNavigation.TaskRow){for(var n=t.getGridColumns(),o=this.columnIndex;o>=0&&!n[o];)o--;return n[o]?new t.$keyboardNavigation.TaskCell(e.taskId,o):e}},fromDomElement:function(n){if(!t.config.keyboard_navigation_cells)return null;var o=t.locate(n);if(t.isTaskExists(o)){var i=0,a=e.locateAttribute(n,"data-column-index");return a&&(i=1*a.getAttribute("data-column-index")),new t.$keyboardNavigation.TaskCell(o,i)}return null},getNode:function(){if(t.isTaskExists(this.taskId)&&t.isTaskVisible(this.taskId)){if(t.config.show_grid){var e=t.$grid.querySelector(".gantt_row["+t.config.task_attribute+"='"+this.taskId+"']");return e?e.childNodes[this.columnIndex]:null}return t.getTaskNode(this.taskId)}},keys:{up:function(){var e=null,n=t.getPrev(this.taskId);e=n?new t.$keyboardNavigation.TaskCell(n,this.columnIndex):new t.$keyboardNavigation.HeaderCell(this.columnIndex),this.moveTo(e)},down:function(){var e=t.getNext(this.taskId);e&&this.moveTo(new t.$keyboardNavigation.TaskCell(e,this.columnIndex))},left:function(){this.columnIndex>0&&this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,this.columnIndex-1))},right:function(){var e=t.getGridColumns();this.columnIndex<e.length-1&&this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,this.columnIndex+1))},end:function(){var e=t.getGridColumns();this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,e.length-1))},home:function(){this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,0))},pagedown:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskCell(t.getTaskByIndex(t.getVisibleTaskCount()-1).id,this.columnIndex))},pageup:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskCell(t.getTaskByIndex(0).id,this.columnIndex))}}}),t.$keyboardNavigation.TaskCell.prototype.bindAll(t.$keyboardNavigation.TaskRow.prototype.keys),t.$keyboardNavigation.TaskCell.prototype.bindAll(t.$keyboardNavigation.TaskCell.prototype.keys)}},195:function(t,e){t.exports=function(t){t.$keyboardNavigation.TaskRow=function(e){if(!e){var n=t.getChildren(t.config.root_id);n[0]&&(e=n[0])}this.taskId=e,t.isTaskExists(this.taskId)&&(this.index=t.getTaskIndex(this.taskId))},t.$keyboardNavigation.TaskRow.prototype=t._compose(t.$keyboardNavigation.KeyNavNode,{_handlers:null,isValid:function(){return t.isTaskExists(this.taskId)&&t.getTaskIndex(this.taskId)>-1},fallback:function(){if(!t.getVisibleTaskCount()){var e=new t.$keyboardNavigation.HeaderCell;return e.isValid()?e:null}var n=-1;if(t.getTaskByIndex(this.index-1))n=this.index-1;else if(t.getTaskByIndex(this.index+1))n=this.index+1;else for(var o=this.index;o>=0;){if(void 0!==t.getTaskByIndex(o)){n=o;break}o--}if(n>-1)return new t.$keyboardNavigation.TaskRow(t.getTaskByIndex(n).id)},fromDomElement:function(e){if(t.config.keyboard_navigation_cells)return null;var n=t.locate(e);return t.isTaskExists(n)?new t.$keyboardNavigation.TaskRow(n):null},getNode:function(){if(t.isTaskExists(this.taskId)&&t.isTaskVisible(this.taskId))return t.config.show_grid?t.$grid.querySelector(".gantt_row["+t.config.task_attribute+"='"+this.taskId+"']"):t.getTaskNode(this.taskId)},focus:function(e){if(!e){var n,o,i=t.getTaskPosition(t.getTask(this.taskId)),a=t.config.row_height,r=t.getScrollState();n=t.$task?t.$task.offsetWidth:r.inner_width,o=t.$grid_data||t.$task_data?(t.$grid_data||t.$task_data).offsetHeight:r.inner_height,i.top<r.y||i.top+a>r.y+o?t.scrollTo(null,i.top-5*a):t.config.show_chart&&(i.left<r.x||i.left>r.x+n)&&t.scrollTo(i.left-t.config.task_scroll_offset)}t.$keyboardNavigation.KeyNavNode.prototype.focus.apply(this,[e])},keys:{pagedown:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskRow(t.getTaskByIndex(t.getVisibleTaskCount()-1).id))},pageup:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskRow(t.getTaskByIndex(0).id))},up:function(){var e=null,n=t.getPrev(this.taskId);e=n?new t.$keyboardNavigation.TaskRow(n):new t.$keyboardNavigation.HeaderCell,this.moveTo(e)},down:function(){var e=t.getNext(this.taskId);e&&this.moveTo(new t.$keyboardNavigation.TaskRow(e))},"shift+down":function(){t.hasChild(this.taskId)&&!t.getTask(this.taskId).$open&&t.open(this.taskId)},"shift+up":function(){t.hasChild(this.taskId)&&t.getTask(this.taskId).$open&&t.close(this.taskId)},"shift+right":function(){var e=t.getPrevSibling(this.taskId);t.isTaskExists(e)&&!t.isChildOf(this.taskId,e)&&(t.getTask(e).$open=!0,t.moveTask(this.taskId,-1,e),t.updateTask(this.taskId))},"shift+left":function(){var e=t.getParent(this.taskId);t.isTaskExists(e)&&(t.moveTask(this.taskId,t.getTaskIndex(e)+1,t.getParent(e)),t.updateTask(this.taskId))},space:function(e){t.getState().selected_task!=this.taskId?t.selectTask(this.taskId):t.unselectTask(this.taskId)},"ctrl+left":function(e){t.close(this.taskId)},"ctrl+right":function(e){t.open(this.taskId)},delete:function(e){t.$click.buttons.delete(this.taskId)},enter:function(){t.showLightbox(this.taskId)},"ctrl+enter":function(){t.createTask({},this.taskId)}}}),t.$keyboardNavigation.TaskRow.prototype.bindAll(t.$keyboardNavigation.TaskRow.prototype.keys)}},196:function(t,e,n){t.exports=function(t){var e=n(1);t.$keyboardNavigation.HeaderCell=function(t){this.index=t||0},t.$keyboardNavigation.HeaderCell.prototype=t._compose(t.$keyboardNavigation.KeyNavNode,{_handlers:null,isValid:function(){return!(!t.config.show_grid&&t.getVisibleTaskCount())&&(!!t.getGridColumns()[this.index]||!t.getVisibleTaskCount())},fallback:function(){if(!t.config.show_grid)return t.getVisibleTaskCount()?new t.$keyboardNavigation.TaskRow:null;for(var e=t.getGridColumns(),n=this.index;n>=0&&!e[n];)n--;return e[n]?new t.$keyboardNavigation.HeaderCell(n):null},fromDomElement:function(n){var o=e.locateClassName(n,"gantt_grid_head_cell");if(o){for(var i=0;o&&o.previousSibling;)o=o.previousSibling,i+=1;return new t.$keyboardNavigation.HeaderCell(i)}return null},getNode:function(){return t.$grid_scale.childNodes[this.index]},keys:{left:function(){this.index>0&&this.moveTo(new t.$keyboardNavigation.HeaderCell(this.index-1))},right:function(){var e=t.getGridColumns();this.index<e.length-1&&this.moveTo(new t.$keyboardNavigation.HeaderCell(this.index+1))},down:function(){var e,n=t.getChildren(t.config.root_id);n[0]&&(e=n[0]),e&&(t.config.keyboard_navigation_cells?this.moveTo(new t.$keyboardNavigation.TaskCell(e,this.index)):this.moveTo(new t.$keyboardNavigation.TaskRow(e)))},end:function(){var e=t.getGridColumns();this.moveTo(new t.$keyboardNavigation.HeaderCell(e.length-1))},home:function(){this.moveTo(new t.$keyboardNavigation.HeaderCell(0))},"enter, space":function(){document.activeElement.click()},"ctrl+enter":function(){t.createTask({},this.taskId)}}}),t.$keyboardNavigation.HeaderCell.prototype.bindAll(t.$keyboardNavigation.HeaderCell.prototype.keys)}},197:function(t,e){t.exports=function(t){t.$keyboardNavigation.KeyNavNode=function(){},t.$keyboardNavigation.KeyNavNode.prototype=t._compose(t.$keyboardNavigation.EventHandler,{isValid:function(){return!0},fallback:function(){return null},moveTo:function(e){t.$keyboardNavigation.dispatcher.setActiveNode(e)},compareTo:function(t){if(!t)return!1;for(var e in this){if(!!this[e]!=!!t[e])return!1;var n=!(!this[e]||!this[e].toString),o=!(!t[e]||!t[e].toString);if(o!=n)return!1;if(o&&n){if(t[e].toString()!=this[e].toString())return!1}else if(t[e]!=this[e])return!1}return!0},getNode:function(){},focus:function(){var e=this.getNode();if(e){var n=t.$keyboardNavigation.facade;!1!==n.callEvent("onBeforeFocus",[e])&&e&&(e.setAttribute("tabindex","-1"),e.$eventAttached||(e.$eventAttached=!0,t.event(e,"focus",function(t){return(t=t||event).preventDefault(),!1},!1)),e.focus&&e.focus(),n.callEvent("onFocus",[this.getNode()]))}},blur:function(){var e=this.getNode();e&&(t.$keyboardNavigation.facade.callEvent("onBlur",[e]),e.setAttribute("tabindex","-1"))}})}},198:function(t,e){t.exports=function(t){t.$keyboardNavigation.GanttNode=function(){},t.$keyboardNavigation.GanttNode.prototype=t._compose(t.$keyboardNavigation.EventHandler,{focus:function(){t.focus()},blur:function(){},disable:function(){t.$container.setAttribute("tabindex","0")},enable:function(){t.$container&&t.$container.removeAttribute("tabindex")},isEnabled:function(){return t.$container.hasAttribute("tabindex")},scrollHorizontal:function(e){var n=t.dateFromPos(t.getScrollState().x),o=e<0?-t.config.step:t.config.step;n=t.date.add(n,o,t.config.scale_unit),t.scrollTo(t.posFromDate(n))},scrollVertical:function(e){var n=t.getScrollState().y,o=t.config.row_height;t.scrollTo(null,n+(e<0?-1:1)*o)},keys:{"alt+left":function(t){this.scrollHorizontal(-1)},"alt+right":function(t){this.scrollHorizontal(1)},"alt+up":function(t){this.scrollVertical(-1)},"alt+down":function(t){this.scrollVertical(1)},"ctrl+z":function(){t.undo&&t.undo()},"ctrl+r":function(){t.redo&&t.redo()}}}),t.$keyboardNavigation.GanttNode.prototype.bindAll(t.$keyboardNavigation.GanttNode.prototype.keys)}},199:function(t,e,n){t.exports=function(t){!function(){var e=n(1);t.$keyboardNavigation.getFocusableNodes=e.getFocusableNodes,t.$keyboardNavigation.trapFocus=function(e,n){if(9!=n.keyCode)return!1;for(var o=t.$keyboardNavigation.getFocusableNodes(e),i=document.activeElement,a=-1,r=0;r<o.length;r++)if(o[r]==i){a=r;break}if(n.shiftKey){if(a<=0){var s=o[o.length-1];if(s)return s.focus(),n.preventDefault(),!0}}else if(a>=o.length-1){var d=o[0];if(d)return d.focus(),n.preventDefault(),!0}return!1}}()}},200:function(t,e){t.exports=function(t){t.$keyboardNavigation.EventHandler={_handlers:null,findHandler:function(e){this._handlers||(this._handlers={});var n=t.$keyboardNavigation.shortcuts.getHash(e);return this._handlers[n]},doAction:function(e,n){var o=this.findHandler(e);if(o){if(!1===t.$keyboardNavigation.facade.callEvent("onBeforeAction",[e,n]))return;o.call(this,n),n.preventDefault?n.preventDefault():n.returnValue=!1}},bind:function(e,n){this._handlers||(this._handlers={});for(var o=t.$keyboardNavigation.shortcuts,i=o.parse(e),a=0;a<i.length;a++)this._handlers[o.getHash(i[a])]=n},unbind:function(e){for(var n=t.$keyboardNavigation.shortcuts,o=n.parse(e),i=0;i<o.length;i++)this._handlers[n.getHash(o[i])]&&delete this._handlers[n.getHash(o[i])]},bindAll:function(t){for(var e in t)this.bind(e,t[e])},initKeys:function(){this._handlers||(this._handlers={}),this.keys&&this.bindAll(this.keys)}}}},201:function(t,e){t.exports=function(t){t.$keyboardNavigation.shortcuts={createCommand:function(){return{modifiers:{shift:!1,alt:!1,ctrl:!1,meta:!1},keyCode:null}},parse:function(t){for(var e=[],n=this.getExpressions(this.trim(t)),o=0;o<n.length;o++){for(var i=this.getWords(n[o]),a=this.createCommand(),r=0;r<i.length;r++)this.commandKeys[i[r]]?a.modifiers[i[r]]=!0:this.specialKeys[i[r]]?a.keyCode=this.specialKeys[i[r]]:a.keyCode=i[r].charCodeAt(0);e.push(a)}return e},getCommandFromEvent:function(t){var e=this.createCommand();e.modifiers.shift=!!t.shiftKey,e.modifiers.alt=!!t.altKey,e.modifiers.ctrl=!!t.ctrlKey,e.modifiers.meta=!!t.metaKey,e.keyCode=t.which||t.keyCode,e.keyCode>=96&&e.keyCode<=105&&(e.keyCode-=48);var n=String.fromCharCode(e.keyCode);return n&&(e.keyCode=n.toLowerCase().charCodeAt(0)),e},getHashFromEvent:function(t){return this.getHash(this.getCommandFromEvent(t))},getHash:function(t){var e=[];for(var n in t.modifiers)t.modifiers[n]&&e.push(n);return e.push(t.keyCode),e.join(this.junctionChar)},getExpressions:function(t){return t.split(this.junctionChar)},getWords:function(t){return t.split(this.combinationChar)},trim:function(t){return t.replace(/\s/g,"")},junctionChar:",",combinationChar:"+",commandKeys:{shift:16,alt:18,ctrl:17,meta:!0},specialKeys:{backspace:8,tab:9,enter:13,esc:27,space:32,up:38,down:40,left:37,right:39,home:36,end:35,pageup:33,pagedown:34,delete:46,insert:45,plus:107,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123}}}},202:function(t,e,n){!function(){var t=n(4);!function(e){e.config.keyboard_navigation=!0,e.config.keyboard_navigation_cells=!1,e.$keyboardNavigation={},e._compose=function(){for(var t=Array.prototype.slice.call(arguments,0),e={},n=0;n<t.length;n++){var o=t[n];for(var i in"function"==typeof o&&(o=new o),o)e[i]=o[i]}return e},n(201)(e),n(200)(e),n(199)(e),n(198)(e),n(197)(e),n(196)(e),n(195)(e),n(194)(e),n(193)(e),n(192)(e);var o=n(1);!function(){var n=e.$keyboardNavigation.dispatcher;n.isTaskFocused=function(t){var o=n.activeNode;return(o instanceof e.$keyboardNavigation.TaskRow||o instanceof e.$keyboardNavigation.TaskCell)&&o.taskId==t};var i=function(t){if(e.config.keyboard_navigation)return n.keyDownHandler(t)},a=function(t){if(n.$preventDefault)return t.preventDefault(),e.$container.blur(),!1;n.focusGlobalNode()},r=function(){if(n.isEnabled()){var t=n.getActiveNode();if(t){var e,o,i=t.getNode();i&&i.parentNode&&(e=i.parentNode.scrollTop,o=i.parentNode.scrollLeft),t.focus(!0),i&&i.parentNode&&(i.parentNode.scrollTop=e,i.parentNode.scrollLeft=o)}}};function s(t){if(!e.config.keyboard_navigation)return!0;var i,a=n.fromDomElement(t);a&&(n.activeNode instanceof e.$keyboardNavigation.TaskCell&&o.isChildOf(t.target,e.$task)&&(a=new e.$keyboardNavigation.TaskCell(a.taskId,n.activeNode.columnIndex)),i=a),i?n.isEnabled()?n.delay(function(){n.setActiveNode(i)}):n.activeNode=i:(n.$preventDefault=!0,setTimeout(function(){n.$preventDefault=!1},300))}e.attachEvent("onDataRender",function(){e.config.keyboard_navigation&&r()}),e.attachEvent("onGanttRender",function(){e.eventRemove(document,"keydown",i),e.eventRemove(e.$container,"focus",a),e.eventRemove(e.$container,"mousedown",s),e.config.keyboard_navigation?(e.event(document,"keydown",i),e.event(e.$container,"focus",a),e.event(e.$container,"mousedown",s),e.$container.setAttribute("tabindex","0")):e.$container.removeAttribute("tabindex")});var d=e.attachEvent("onGanttReady",function(){if(e.detachEvent(d),e.$data.tasksStore.attachEvent("onStoreUpdated",function(t){if(e.config.keyboard_navigation&&n.isEnabled()){var o=n.getActiveNode();o&&o.taskId==t&&r()}}),e._smart_render){var t=e._smart_render._redrawItems;e._smart_render._redrawItems=function(o,i){if(e.config.keyboard_navigation&&n.isEnabled()){var a=n.getActiveNode();if(a&&void 0!==a.taskId){for(var r=!1,s=0;s<i.length;s++)if(i[s].id==a.taskId&&i[s].start_date){r=!0;break}r||i.push(e.getTask(a.taskId))}}return t.apply(this,arguments)}}});e.attachEvent("onAfterTaskAdd",function(t,o){if(!e.config.keyboard_navigation)return!0;if(n.isEnabled()){var i=0,a=n.activeNode;a instanceof e.$keyboardNavigation.TaskCell&&(i=a.columnIndex);var r=e.config.keyboard_navigation_cells?e.$keyboardNavigation.TaskCell:e.$keyboardNavigation.TaskRow;n.setActiveNode(new r(t,i))}}),e.attachEvent("onTaskIdChange",function(t,o){if(!e.config.keyboard_navigation)return!0;var i=n.activeNode;return n.isTaskFocused(t)&&(i.taskId=o),!0});var l=setInterval(function(){if(e.config.keyboard_navigation){var t,o=function(){var t=document.activeElement;return t===document.body&&document.getSelection&&(t=document.getSelection().focusNode||document.body),t}(),i=e.$container;if(!o||e._locate_css(o,"gantt_cal_quick_info"))t=!1;else{for(;o!=i&&o;)o=o.parentNode;t=o==i}t&&!n.isEnabled()?n.enable():!t&&n.isEnabled()&&n.disable()}},500);function c(t){var n={gantt:e.$keyboardNavigation.GanttNode,headerCell:e.$keyboardNavigation.HeaderCell,taskRow:e.$keyboardNavigation.TaskRow,taskCell:e.$keyboardNavigation.TaskCell};return n[t]||n.gantt}e.attachEvent("onDestroy",function(){clearInterval(l)});var u={};t(u),e.mixin(u,{addShortcut:function(t,e,n){var o=c(n);o&&o.prototype.bind(t,e)},getShortcutHandler:function(t,n){var o=c(n);if(o){var i=e.$keyboardNavigation.shortcuts.parse(t);if(i.length)return o.prototype.findHandler(i[0])}},removeShortcut:function(t,e){var n=c(e);n&&n.prototype.unbind(t)},focus:function(t){var o,i=t?t.type:null,a=c(i);switch(i){case"taskCell":o=new a(t.id,e.getColumnIndex(t.column));break;case"taskRow":o=new a(t.id);break;case"headerCell":o=new a(e.getColumnIndex(t.column))}n.delay(function(){o?n.setActiveNode(o):(n.enable(),n.getActiveNode()?n.awaitsFocus()||n.enable():n.setDefaultNode())})}}),e.$keyboardNavigation.facade=u,e.ext.keyboardNavigation=u,e.focus=function(){u.focus()},e.addShortcut=u.addShortcut,e.getShortcutHandler=u.getShortcutHandler,e.removeShortcut=u.removeShortcut}()}(gantt)}()},4:function(t,e){var n=function(){this._connected=[],this._silent_mode=!1};n.prototype={_silentStart:function(){this._silent_mode=!0},_silentEnd:function(){this._silent_mode=!1}};var o=function(t){var e=[],n=function(){for(var n=!0,o=0;o<e.length;o++)if(e[o]){var i=e[o].apply(t,arguments);n=n&&i}return n};return n.addEvent=function(t){return"function"==typeof t&&e.push(t)-1},n.removeEvent=function(t){e[t]=null},n};t.exports=function(t){var e=new n;t.attachEvent=function(t,n,i){return t="ev_"+t.toLowerCase(),e[t]||(e[t]=o(i||this)),t+":"+e[t].addEvent(n)},t.attachAll=function(t,e){this.attachEvent("listen_all",t,e)},t.callEvent=function(t,n,o){if(e._silent_mode)return!0;var i="ev_"+t.toLowerCase();return e.ev_listen_all&&e.ev_listen_all.apply(o||this,[t].concat(n)),!e[i]||e[i].apply(o||this,n)},t.checkEvent=function(t){return!!e["ev_"+t.toLowerCase()]},t.detachEvent=function(t){if(t){var n=t.split(":");e[n[0]].removeEvent(n[1])}},t.detachAllEvents=function(){for(var t in e)0===t.indexOf("ev_")&&delete e[t]}}}}); | ||
*/!function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=202)}({1:function(t,e){function n(t){var e=0,n=0,o=0,i=0;if(t.getBoundingClientRect){var a=t.getBoundingClientRect(),r=document.body,s=document.documentElement||document.body.parentNode||document.body,d=window.pageYOffset||s.scrollTop||r.scrollTop,l=window.pageXOffset||s.scrollLeft||r.scrollLeft,c=s.clientTop||r.clientTop||0,u=s.clientLeft||r.clientLeft||0;e=a.top+d-c,n=a.left+l-u,o=document.body.offsetWidth-a.right,i=document.body.offsetHeight-a.bottom}else{for(;t;)e+=parseInt(t.offsetTop,10),n+=parseInt(t.offsetLeft,10),t=t.offsetParent;o=document.body.offsetWidth-t.offsetWidth-n,i=document.body.offsetHeight-t.offsetHeight-e}return{y:Math.round(e),x:Math.round(n),width:t.offsetWidth,height:t.offsetHeight,right:Math.round(o),bottom:Math.round(i)}}function o(t){var e=!1,n=!1;if(window.getComputedStyle){var o=window.getComputedStyle(t,null);e=o.display,n=o.visibility}else t.currentStyle&&(e=t.currentStyle.display,n=t.currentStyle.visibility);return"none"!=e&&"hidden"!=n}function i(t){return!isNaN(t.getAttribute("tabindex"))&&1*t.getAttribute("tabindex")>=0}function a(t){return!{a:!0,area:!0}[t.nodeName.loLowerCase()]||!!t.getAttribute("href")}function r(t){return!{input:!0,select:!0,textarea:!0,button:!0,object:!0}[t.nodeName.toLowerCase()]||!t.hasAttribute("disabled")}function s(t){if(!t)return"";var e=t.className||"";return e.baseVal&&(e=e.baseVal),e.indexOf||(e=""),c(e)}var d=document.createElement("div");function l(t){return t.tagName?t:(t=t||window.event).target||t.srcElement}function c(t){return(String.prototype.trim||function(){return this.replace(/^\s+|\s+$/g,"")}).apply(t)}t.exports={getNodePosition:n,getFocusableNodes:function(t){for(var e=t.querySelectorAll(["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"].join(", ")),n=Array.prototype.slice.call(e,0),s=0;s<n.length;s++){var d=n[s];(i(d)||r(d)||a(d))&&o(d)||(n.splice(s,1),s--)}return n},getScrollSize:function(){var t=document.createElement("div");t.style.cssText="visibility:hidden;position:absolute;left:-1000px;width:100px;padding:0px;margin:0px;height:110px;min-height:100px;overflow-y:scroll;",document.body.appendChild(t);var e=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),e},getClassName:s,addClassName:function(t,e){e&&-1===t.className.indexOf(e)&&(t.className+=" "+e)},removeClassName:function(t,e){e=e.split(" ");for(var n=0;n<e.length;n++){var o=new RegExp("\\s?\\b"+e[n]+"\\b(?![-_.])","");t.className=t.className.replace(o,"")}},insertNode:function(t,e){d.innerHTML=e;var n=d.firstChild;return t.appendChild(n),n},removeNode:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},getChildNodes:function(t,e){for(var n=t.childNodes,o=n.length,i=[],a=0;a<o;a++){var r=n[a];r.className&&-1!==r.className.indexOf(e)&&i.push(r)}return i},toNode:function(t){return"string"==typeof t?document.getElementById(t)||document.querySelector(t)||document.body:t||document.body},locateClassName:function(t,e,n){var o=l(t),i="";for(void 0===n&&(n=!0);o;){if(i=s(o)){var a=i.indexOf(e);if(a>=0){if(!n)return o;var r=0===a||!c(i.charAt(a-1)),d=a+e.length>=i.length||!c(i.charAt(a+e.length));if(r&&d)return o}}o=o.parentNode}return null},locateAttribute:function(t,e){if(e){for(var n=l(t);n;){if(n.getAttribute&&n.getAttribute(e))return n;n=n.parentNode}return null}},getTargetNode:l,getRelativeEventPosition:function(t,e){var o=document.documentElement,i=n(e);return{x:t.clientX+o.scrollLeft-o.clientLeft-i.x+e.scrollLeft,y:t.clientY+o.scrollTop-o.clientTop-i.y+e.scrollTop}},isChildOf:function(t,e){if(!t||!e)return!1;for(;t&&t!=e;)t=t.parentNode;return t===e},hasClass:function(t,e){return"classList"in t?t.classList.contains(e):new RegExp("\\b"+e+"\\b").test(t.className)}}},192:function(t,e){t.exports=function(t){t.$keyboardNavigation.dispatcher={isActive:!1,activeNode:null,globalNode:new t.$keyboardNavigation.GanttNode,enable:function(){this.isActive=!0,this.globalNode.enable(),this.setActiveNode(this.getActiveNode())},disable:function(){this.isActive=!1,this.globalNode.disable()},isEnabled:function(){return!!this.isActive},getDefaultNode:function(){var e;return(e=t.config.keyboard_navigation_cells?new t.$keyboardNavigation.TaskCell:new t.$keyboardNavigation.TaskRow).isValid()||(e=e.fallback()),e},setDefaultNode:function(){this.setActiveNode(this.getDefaultNode())},getActiveNode:function(){var t=this.activeNode;return t&&!t.isValid()&&(t=t.fallback()),t},fromDomElement:function(e){for(var n=[t.$keyboardNavigation.TaskRow,t.$keyboardNavigation.TaskCell,t.$keyboardNavigation.HeaderCell],o=0;o<n.length;o++)if(n[o].prototype.fromDomElement){var i=n[o].prototype.fromDomElement(e);if(i)return i}return null},focusGlobalNode:function(){this.blurNode(this.globalNode),this.focusNode(this.globalNode)},setActiveNode:function(t){var e=!0;this.activeNode&&this.activeNode.compareTo(t)&&(e=!1),this.isEnabled()&&(e&&this.blurNode(this.activeNode),this.activeNode=t,this.focusNode(this.activeNode,!e))},focusNode:function(t,e){t&&t.focus&&t.focus(e)},blurNode:function(t){t&&t.blur&&t.blur()},keyDownHandler:function(e){if(!t.$keyboardNavigation.isModal()&&this.isEnabled()&&!(e=e||window.event).defaultPrevented){var n=this.globalNode,o=t.$keyboardNavigation.shortcuts.getCommandFromEvent(e),i=this.getActiveNode();!1!==t.$keyboardNavigation.facade.callEvent("onKeyDown",[o,e])&&(i?i.findHandler(o)?i.doAction(o,e):n.findHandler(o)&&n.doAction(o,e):this.setDefaultNode())}},_timeout:null,awaitsFocus:function(){return null!==this._timeout},delay:function(e,n){clearTimeout(this._timeout),this._timeout=setTimeout(t.bind(function(){this._timeout=null,e()},this),n||1)},clearDelay:function(){clearTimeout(this._timeout)}}}},193:function(t,e){t.exports=function(t){!function(){var e=[];function n(){return!!e.length}function o(e){setTimeout(function(){n()||t.focus()},1)}function i(n){t.eventRemove(n,"keydown",r),t.event(n,"keydown",r),e.push(n)}function a(){var n=e.pop();n&&t.eventRemove(n,"keydown",r),o()}function r(n){var o=(n=n||window.event).currentTarget;(function(t){return t==e[e.length-1]})(o)&&t.$keyboardNavigation.trapFocus(o,n)}function s(){i(t.getLightbox())}t.attachEvent("onLightbox",s),t.attachEvent("onAfterLightbox",a),t.attachEvent("onLightboxChange",function(){a(),s()}),t.attachEvent("onAfterQuickInfo",function(){o()}),t.attachEvent("onMessagePopup",function(t){d=document.activeElement,i(t)}),t.attachEvent("onAfterMessagePopup",function(){a(),setTimeout(function(){d&&(d.focus(),d=null)},1)});var d=null;t.$keyboardNavigation.isModal=n}()}},194:function(t,e,n){t.exports=function(t){var e=n(1);t.$keyboardNavigation.TaskCell=function(e,n){if(!e){var o=t.getChildren(t.config.root_id);o[0]&&(e=o[0])}this.taskId=e,this.columnIndex=n||0,this.index=t.getTaskIndex(this.taskId)},t.$keyboardNavigation.TaskCell.prototype=t._compose(t.$keyboardNavigation.TaskRow,{_handlers:null,isValid:function(){return t.$keyboardNavigation.TaskRow.prototype.isValid.call(this)&&!!t.getGridColumns()[this.columnIndex]},fallback:function(){var e=t.$keyboardNavigation.TaskRow.prototype.fallback.call(this);if(e instanceof t.$keyboardNavigation.TaskRow){for(var n=t.getGridColumns(),o=this.columnIndex;o>=0&&!n[o];)o--;return n[o]?new t.$keyboardNavigation.TaskCell(e.taskId,o):e}},fromDomElement:function(n){if(!t.config.keyboard_navigation_cells)return null;var o=t.locate(n);if(t.isTaskExists(o)){var i=0,a=e.locateAttribute(n,"data-column-index");return a&&(i=1*a.getAttribute("data-column-index")),new t.$keyboardNavigation.TaskCell(o,i)}return null},getNode:function(){if(t.isTaskExists(this.taskId)&&t.isTaskVisible(this.taskId)){if(t.config.show_grid){var e=t.$grid.querySelector(".gantt_row["+t.config.task_attribute+"='"+this.taskId+"']");return e?e.childNodes[this.columnIndex]:null}return t.getTaskNode(this.taskId)}},keys:{up:function(){var e=null,n=t.getPrev(this.taskId);e=n?new t.$keyboardNavigation.TaskCell(n,this.columnIndex):new t.$keyboardNavigation.HeaderCell(this.columnIndex),this.moveTo(e)},down:function(){var e=t.getNext(this.taskId);e&&this.moveTo(new t.$keyboardNavigation.TaskCell(e,this.columnIndex))},left:function(){this.columnIndex>0&&this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,this.columnIndex-1))},right:function(){var e=t.getGridColumns();this.columnIndex<e.length-1&&this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,this.columnIndex+1))},end:function(){var e=t.getGridColumns();this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,e.length-1))},home:function(){this.moveTo(new t.$keyboardNavigation.TaskCell(this.taskId,0))},pagedown:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskCell(t.getTaskByIndex(t.getVisibleTaskCount()-1).id,this.columnIndex))},pageup:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskCell(t.getTaskByIndex(0).id,this.columnIndex))}}}),t.$keyboardNavigation.TaskCell.prototype.bindAll(t.$keyboardNavigation.TaskRow.prototype.keys),t.$keyboardNavigation.TaskCell.prototype.bindAll(t.$keyboardNavigation.TaskCell.prototype.keys)}},195:function(t,e){t.exports=function(t){t.$keyboardNavigation.TaskRow=function(e){if(!e){var n=t.getChildren(t.config.root_id);n[0]&&(e=n[0])}this.taskId=e,t.isTaskExists(this.taskId)&&(this.index=t.getTaskIndex(this.taskId))},t.$keyboardNavigation.TaskRow.prototype=t._compose(t.$keyboardNavigation.KeyNavNode,{_handlers:null,isValid:function(){return t.isTaskExists(this.taskId)&&t.getTaskIndex(this.taskId)>-1},fallback:function(){if(!t.getVisibleTaskCount()){var e=new t.$keyboardNavigation.HeaderCell;return e.isValid()?e:null}var n=-1;if(t.getTaskByIndex(this.index-1))n=this.index-1;else if(t.getTaskByIndex(this.index+1))n=this.index+1;else for(var o=this.index;o>=0;){if(t.getTaskByIndex(o)){n=o;break}o--}if(n>-1)return new t.$keyboardNavigation.TaskRow(t.getTaskByIndex(n).id)},fromDomElement:function(e){if(t.config.keyboard_navigation_cells)return null;var n=t.locate(e);return t.isTaskExists(n)?new t.$keyboardNavigation.TaskRow(n):null},getNode:function(){if(t.isTaskExists(this.taskId)&&t.isTaskVisible(this.taskId))return t.config.show_grid?t.$grid.querySelector(".gantt_row["+t.config.task_attribute+"='"+this.taskId+"']"):t.getTaskNode(this.taskId)},focus:function(e){if(!e){var n,o,i=t.getTaskPosition(t.getTask(this.taskId)),a=t.config.row_height,r=t.getScrollState();n=t.$task?t.$task.offsetWidth:r.inner_width,o=t.$grid_data||t.$task_data?(t.$grid_data||t.$task_data).offsetHeight:r.inner_height,i.top<r.y||i.top+a>r.y+o?t.scrollTo(null,i.top-5*a):t.config.show_chart&&(i.left<r.x||i.left>r.x+n)&&t.scrollTo(i.left-t.config.task_scroll_offset)}t.$keyboardNavigation.KeyNavNode.prototype.focus.apply(this,[e])},keys:{pagedown:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskRow(t.getTaskByIndex(t.getVisibleTaskCount()-1).id))},pageup:function(){t.getVisibleTaskCount()&&this.moveTo(new t.$keyboardNavigation.TaskRow(t.getTaskByIndex(0).id))},up:function(){var e=null,n=t.getPrev(this.taskId);e=n?new t.$keyboardNavigation.TaskRow(n):new t.$keyboardNavigation.HeaderCell,this.moveTo(e)},down:function(){var e=t.getNext(this.taskId);e&&this.moveTo(new t.$keyboardNavigation.TaskRow(e))},"shift+down":function(){t.hasChild(this.taskId)&&!t.getTask(this.taskId).$open&&t.open(this.taskId)},"shift+up":function(){t.hasChild(this.taskId)&&t.getTask(this.taskId).$open&&t.close(this.taskId)},"shift+right":function(){var e=t.getPrevSibling(this.taskId);t.isTaskExists(e)&&!t.isChildOf(this.taskId,e)&&(t.getTask(e).$open=!0,t.moveTask(this.taskId,-1,e),t.updateTask(this.taskId))},"shift+left":function(){var e=t.getParent(this.taskId);t.isTaskExists(e)&&(t.moveTask(this.taskId,t.getTaskIndex(e)+1,t.getParent(e)),t.updateTask(this.taskId))},space:function(e){t.getState().selected_task!=this.taskId?t.selectTask(this.taskId):t.unselectTask(this.taskId)},"ctrl+left":function(e){t.close(this.taskId)},"ctrl+right":function(e){t.open(this.taskId)},delete:function(e){t.$click.buttons.delete(this.taskId)},enter:function(){t.showLightbox(this.taskId)},"ctrl+enter":function(){t.createTask({},this.taskId)}}}),t.$keyboardNavigation.TaskRow.prototype.bindAll(t.$keyboardNavigation.TaskRow.prototype.keys)}},196:function(t,e,n){t.exports=function(t){var e=n(1);t.$keyboardNavigation.HeaderCell=function(t){this.index=t||0},t.$keyboardNavigation.HeaderCell.prototype=t._compose(t.$keyboardNavigation.KeyNavNode,{_handlers:null,isValid:function(){return!(!t.config.show_grid&&t.getVisibleTaskCount())&&(!!t.getGridColumns()[this.index]||!t.getVisibleTaskCount())},fallback:function(){if(!t.config.show_grid)return t.getVisibleTaskCount()?new t.$keyboardNavigation.TaskRow:null;for(var e=t.getGridColumns(),n=this.index;n>=0&&!e[n];)n--;return e[n]?new t.$keyboardNavigation.HeaderCell(n):null},fromDomElement:function(n){var o=e.locateClassName(n,"gantt_grid_head_cell");if(o){for(var i=0;o&&o.previousSibling;)o=o.previousSibling,i+=1;return new t.$keyboardNavigation.HeaderCell(i)}return null},getNode:function(){return t.$grid_scale.childNodes[this.index]},keys:{left:function(){this.index>0&&this.moveTo(new t.$keyboardNavigation.HeaderCell(this.index-1))},right:function(){var e=t.getGridColumns();this.index<e.length-1&&this.moveTo(new t.$keyboardNavigation.HeaderCell(this.index+1))},down:function(){var e,n=t.getChildren(t.config.root_id);n[0]&&(e=n[0]),e&&(t.config.keyboard_navigation_cells?this.moveTo(new t.$keyboardNavigation.TaskCell(e,this.index)):this.moveTo(new t.$keyboardNavigation.TaskRow(e)))},end:function(){var e=t.getGridColumns();this.moveTo(new t.$keyboardNavigation.HeaderCell(e.length-1))},home:function(){this.moveTo(new t.$keyboardNavigation.HeaderCell(0))},"enter, space":function(){document.activeElement.click()},"ctrl+enter":function(){t.createTask({},this.taskId)}}}),t.$keyboardNavigation.HeaderCell.prototype.bindAll(t.$keyboardNavigation.HeaderCell.prototype.keys)}},197:function(t,e){t.exports=function(t){t.$keyboardNavigation.KeyNavNode=function(){},t.$keyboardNavigation.KeyNavNode.prototype=t._compose(t.$keyboardNavigation.EventHandler,{isValid:function(){return!0},fallback:function(){return null},moveTo:function(e){t.$keyboardNavigation.dispatcher.setActiveNode(e)},compareTo:function(t){if(!t)return!1;for(var e in this){if(!!this[e]!=!!t[e])return!1;var n=!(!this[e]||!this[e].toString),o=!(!t[e]||!t[e].toString);if(o!=n)return!1;if(o&&n){if(t[e].toString()!=this[e].toString())return!1}else if(t[e]!=this[e])return!1}return!0},getNode:function(){},focus:function(){var e=this.getNode();if(e){var n=t.$keyboardNavigation.facade;!1!==n.callEvent("onBeforeFocus",[e])&&e&&(e.setAttribute("tabindex","-1"),e.$eventAttached||(e.$eventAttached=!0,t.event(e,"focus",function(t){return(t=t||event).preventDefault(),!1},!1)),e.focus&&e.focus(),n.callEvent("onFocus",[this.getNode()]))}},blur:function(){var e=this.getNode();e&&(t.$keyboardNavigation.facade.callEvent("onBlur",[e]),e.setAttribute("tabindex","-1"))}})}},198:function(t,e){t.exports=function(t){t.$keyboardNavigation.GanttNode=function(){},t.$keyboardNavigation.GanttNode.prototype=t._compose(t.$keyboardNavigation.EventHandler,{focus:function(){t.focus()},blur:function(){},disable:function(){t.$container.setAttribute("tabindex","0")},enable:function(){t.$container&&t.$container.removeAttribute("tabindex")},isEnabled:function(){return t.$container.hasAttribute("tabindex")},scrollHorizontal:function(e){var n=t.dateFromPos(t.getScrollState().x),o=e<0?-t.config.step:t.config.step;n=t.date.add(n,o,t.config.scale_unit),t.scrollTo(t.posFromDate(n))},scrollVertical:function(e){var n=t.getScrollState().y,o=t.config.row_height;t.scrollTo(null,n+(e<0?-1:1)*o)},keys:{"alt+left":function(t){this.scrollHorizontal(-1)},"alt+right":function(t){this.scrollHorizontal(1)},"alt+up":function(t){this.scrollVertical(-1)},"alt+down":function(t){this.scrollVertical(1)},"ctrl+z":function(){t.undo&&t.undo()},"ctrl+r":function(){t.redo&&t.redo()}}}),t.$keyboardNavigation.GanttNode.prototype.bindAll(t.$keyboardNavigation.GanttNode.prototype.keys)}},199:function(t,e,n){t.exports=function(t){!function(){var e=n(1);t.$keyboardNavigation.getFocusableNodes=e.getFocusableNodes,t.$keyboardNavigation.trapFocus=function(e,n){if(9!=n.keyCode)return!1;for(var o=t.$keyboardNavigation.getFocusableNodes(e),i=document.activeElement,a=-1,r=0;r<o.length;r++)if(o[r]==i){a=r;break}if(n.shiftKey){if(a<=0){var s=o[o.length-1];if(s)return s.focus(),n.preventDefault(),!0}}else if(a>=o.length-1){var d=o[0];if(d)return d.focus(),n.preventDefault(),!0}return!1}}()}},200:function(t,e){t.exports=function(t){t.$keyboardNavigation.EventHandler={_handlers:null,findHandler:function(e){this._handlers||(this._handlers={});var n=t.$keyboardNavigation.shortcuts.getHash(e);return this._handlers[n]},doAction:function(e,n){var o=this.findHandler(e);if(o){if(!1===t.$keyboardNavigation.facade.callEvent("onBeforeAction",[e,n]))return;o.call(this,n),n.preventDefault?n.preventDefault():n.returnValue=!1}},bind:function(e,n){this._handlers||(this._handlers={});for(var o=t.$keyboardNavigation.shortcuts,i=o.parse(e),a=0;a<i.length;a++)this._handlers[o.getHash(i[a])]=n},unbind:function(e){for(var n=t.$keyboardNavigation.shortcuts,o=n.parse(e),i=0;i<o.length;i++)this._handlers[n.getHash(o[i])]&&delete this._handlers[n.getHash(o[i])]},bindAll:function(t){for(var e in t)this.bind(e,t[e])},initKeys:function(){this._handlers||(this._handlers={}),this.keys&&this.bindAll(this.keys)}}}},201:function(t,e){t.exports=function(t){t.$keyboardNavigation.shortcuts={createCommand:function(){return{modifiers:{shift:!1,alt:!1,ctrl:!1,meta:!1},keyCode:null}},parse:function(t){for(var e=[],n=this.getExpressions(this.trim(t)),o=0;o<n.length;o++){for(var i=this.getWords(n[o]),a=this.createCommand(),r=0;r<i.length;r++)this.commandKeys[i[r]]?a.modifiers[i[r]]=!0:this.specialKeys[i[r]]?a.keyCode=this.specialKeys[i[r]]:a.keyCode=i[r].charCodeAt(0);e.push(a)}return e},getCommandFromEvent:function(t){var e=this.createCommand();e.modifiers.shift=!!t.shiftKey,e.modifiers.alt=!!t.altKey,e.modifiers.ctrl=!!t.ctrlKey,e.modifiers.meta=!!t.metaKey,e.keyCode=t.which||t.keyCode,e.keyCode>=96&&e.keyCode<=105&&(e.keyCode-=48);var n=String.fromCharCode(e.keyCode);return n&&(e.keyCode=n.toLowerCase().charCodeAt(0)),e},getHashFromEvent:function(t){return this.getHash(this.getCommandFromEvent(t))},getHash:function(t){var e=[];for(var n in t.modifiers)t.modifiers[n]&&e.push(n);return e.push(t.keyCode),e.join(this.junctionChar)},getExpressions:function(t){return t.split(this.junctionChar)},getWords:function(t){return t.split(this.combinationChar)},trim:function(t){return t.replace(/\s/g,"")},junctionChar:",",combinationChar:"+",commandKeys:{shift:16,alt:18,ctrl:17,meta:!0},specialKeys:{backspace:8,tab:9,enter:13,esc:27,space:32,up:38,down:40,left:37,right:39,home:36,end:35,pageup:33,pagedown:34,delete:46,insert:45,plus:107,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123}}}},202:function(t,e,n){!function(){var t=n(4);!function(e){e.config.keyboard_navigation=!0,e.config.keyboard_navigation_cells=!1,e.$keyboardNavigation={},e._compose=function(){for(var t=Array.prototype.slice.call(arguments,0),e={},n=0;n<t.length;n++){var o=t[n];for(var i in"function"==typeof o&&(o=new o),o)e[i]=o[i]}return e},n(201)(e),n(200)(e),n(199)(e),n(198)(e),n(197)(e),n(196)(e),n(195)(e),n(194)(e),n(193)(e),n(192)(e);var o=n(1);!function(){var n=e.$keyboardNavigation.dispatcher;n.isTaskFocused=function(t){var o=n.activeNode;return(o instanceof e.$keyboardNavigation.TaskRow||o instanceof e.$keyboardNavigation.TaskCell)&&o.taskId==t};var i=function(t){if(e.config.keyboard_navigation)return n.keyDownHandler(t)},a=function(t){if(n.$preventDefault)return t.preventDefault(),e.$container.blur(),!1;n.focusGlobalNode()},r=function(){if(n.isEnabled()){var t=n.getActiveNode();if(t){var e,o,i=t.getNode();i&&i.parentNode&&(e=i.parentNode.scrollTop,o=i.parentNode.scrollLeft),t.focus(!0),i&&i.parentNode&&(i.parentNode.scrollTop=e,i.parentNode.scrollLeft=o)}}};function s(t){if(!e.config.keyboard_navigation)return!0;var i,a=n.fromDomElement(t);a&&(n.activeNode instanceof e.$keyboardNavigation.TaskCell&&o.isChildOf(t.target,e.$task)&&(a=new e.$keyboardNavigation.TaskCell(a.taskId,n.activeNode.columnIndex)),i=a),i?n.isEnabled()?n.delay(function(){n.setActiveNode(i)}):n.activeNode=i:(n.$preventDefault=!0,setTimeout(function(){n.$preventDefault=!1},300))}e.attachEvent("onDataRender",function(){e.config.keyboard_navigation&&r()}),e.attachEvent("onGanttRender",function(){e.eventRemove(document,"keydown",i),e.eventRemove(e.$container,"focus",a),e.eventRemove(e.$container,"mousedown",s),e.config.keyboard_navigation?(e.event(document,"keydown",i),e.event(e.$container,"focus",a),e.event(e.$container,"mousedown",s),e.$container.setAttribute("tabindex","0")):e.$container.removeAttribute("tabindex")});var d=e.attachEvent("onGanttReady",function(){if(e.detachEvent(d),e.$data.tasksStore.attachEvent("onStoreUpdated",function(t){if(e.config.keyboard_navigation&&n.isEnabled()){var o=n.getActiveNode();o&&o.taskId==t&&r()}}),e._smart_render){var t=e._smart_render._redrawItems;e._smart_render._redrawItems=function(o,i){if(e.config.keyboard_navigation&&n.isEnabled()){var a=n.getActiveNode();if(a&&void 0!==a.taskId){for(var r=!1,s=0;s<i.length;s++)if(i[s].id==a.taskId&&i[s].start_date){r=!0;break}r||i.push(e.getTask(a.taskId))}}return t.apply(this,arguments)}}});e.attachEvent("onAfterTaskAdd",function(t,o){if(!e.config.keyboard_navigation)return!0;if(n.isEnabled()){var i=0,a=n.activeNode;a instanceof e.$keyboardNavigation.TaskCell&&(i=a.columnIndex);var r=e.config.keyboard_navigation_cells?e.$keyboardNavigation.TaskCell:e.$keyboardNavigation.TaskRow;n.setActiveNode(new r(t,i))}}),e.attachEvent("onTaskIdChange",function(t,o){if(!e.config.keyboard_navigation)return!0;var i=n.activeNode;return n.isTaskFocused(t)&&(i.taskId=o),!0});var l=setInterval(function(){if(e.config.keyboard_navigation){var t,o=function(){var t=document.activeElement;return t===document.body&&document.getSelection&&(t=document.getSelection().focusNode||document.body),t}(),i=e.$container;if(!o||e._locate_css(o,"gantt_cal_quick_info"))t=!1;else{for(;o!=i&&o;)o=o.parentNode;t=o==i}t&&!n.isEnabled()?n.enable():!t&&n.isEnabled()&&n.disable()}},500);function c(t){var n={gantt:e.$keyboardNavigation.GanttNode,headerCell:e.$keyboardNavigation.HeaderCell,taskRow:e.$keyboardNavigation.TaskRow,taskCell:e.$keyboardNavigation.TaskCell};return n[t]||n.gantt}e.attachEvent("onDestroy",function(){clearInterval(l)});var u={};t(u),e.mixin(u,{addShortcut:function(t,e,n){var o=c(n);o&&o.prototype.bind(t,e)},getShortcutHandler:function(t,n){var o=e.$keyboardNavigation.shortcuts.parse(t);if(o.length)return this.getCommandHandler(o[0],n)},getCommandHandler:function(t,e){var n=c(e);if(n&&t)return n.prototype.findHandler(t)},removeShortcut:function(t,e){var n=c(e);n&&n.prototype.unbind(t)},focus:function(t){var o,i=t?t.type:null,a=c(i);switch(i){case"taskCell":o=new a(t.id,e.getColumnIndex(t.column));break;case"taskRow":o=new a(t.id);break;case"headerCell":o=new a(e.getColumnIndex(t.column))}n.delay(function(){o?n.setActiveNode(o):(n.enable(),n.getActiveNode()?n.awaitsFocus()||n.enable():n.setDefaultNode())})}}),e.$keyboardNavigation.facade=u,e.ext.keyboardNavigation=u,e.focus=function(){u.focus()},e.addShortcut=u.addShortcut,e.getShortcutHandler=u.getShortcutHandler,e.removeShortcut=u.removeShortcut}()}(gantt)}()},4:function(t,e){var n=function(){this._connected=[],this._silent_mode=!1};n.prototype={_silentStart:function(){this._silent_mode=!0},_silentEnd:function(){this._silent_mode=!1}};var o=function(t){var e=[],n=function(){for(var n=!0,o=0;o<e.length;o++)if(e[o]){var i=e[o].apply(t,arguments);n=n&&i}return n};return n.addEvent=function(t){return"function"==typeof t&&e.push(t)-1},n.removeEvent=function(t){e[t]=null},n};t.exports=function(t){var e=new n;t.attachEvent=function(t,n,i){return t="ev_"+t.toLowerCase(),e[t]||(e[t]=o(i||this)),t+":"+e[t].addEvent(n)},t.attachAll=function(t,e){this.attachEvent("listen_all",t,e)},t.callEvent=function(t,n,o){if(e._silent_mode)return!0;var i="ev_"+t.toLowerCase();return e.ev_listen_all&&e.ev_listen_all.apply(o||this,[t].concat(n)),!e[i]||e[i].apply(o||this,n)},t.checkEvent=function(t){return!!e["ev_"+t.toLowerCase()]},t.detachEvent=function(t){if(t){var n=t.split(":");e[n[0]].removeEvent(n[1])}},t.detachAllEvents=function(){for(var t in e)0===t.indexOf("ev_")&&delete e[t]}}}}); | ||
//# sourceMappingURL=dhtmlxgantt_keyboard_navigation.js.map |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -106,18 +106,55 @@ | ||
(function() { | ||
//Array of objects to run after fullscreen change | ||
// { | ||
// confition: function() {}, // Condition to check screen changed | ||
// callback: function() {} // Screen change callback | ||
// } | ||
gantt._fs_change = []; | ||
var getState = gantt.getState; | ||
gantt.getState = function () { | ||
var state = getState.apply(this, arguments); | ||
state.fullscreen = !!this._expanded; | ||
state.fullscreen = isExpanded(); | ||
return state; | ||
}; | ||
//For fullscreen closing via ESC button | ||
gantt._onFullScreenChange = function () { | ||
function isExpanded(){ | ||
var element = (document.fullscreenElement || | ||
document.mozFullScreenElement || | ||
document.webkitFullscreenElement || | ||
document.msFullscreenElement); | ||
return element && element === gantt.$root; | ||
} | ||
function isFullscreenAvailable(){ | ||
return document.fullscreenEnabled || | ||
document.webkitFullscreenEnabled || | ||
document.mozFullScreenEnabled || | ||
document.msFullscreenEnabled; | ||
} | ||
var expanded = false; | ||
var backupElementSizes = { | ||
width:null, | ||
height:null, | ||
modified: false | ||
}; | ||
// ie11 doesn't expand gantt root element to fullscreen automatically | ||
function workaroundIESizing(){ | ||
var root = gantt.$root; | ||
if(root.offsetWidth < window.innerWidth){ | ||
backupElementSizes.width = root.style.width; | ||
backupElementSizes.height = root.style.height; | ||
root.style.width = '100vw'; | ||
root.style.height = '100vh'; | ||
backupElementSizes.modified = true; | ||
} | ||
} | ||
function workaroundIESizingEnd(){ | ||
var root = gantt.$root; | ||
if(backupElementSizes.modified){ | ||
root.style.width = backupElementSizes.width; | ||
root.style.height = backupElementSizes.height; | ||
backupElementSizes.modified = false; | ||
} | ||
} | ||
function onFullScreenChange() { | ||
if(!gantt.$container){ | ||
@@ -128,173 +165,82 @@ // do nothing if gantt is not yet initialized | ||
var isFullScreen = gantt.getState().fullscreen; | ||
if (isFullScreen) { | ||
if (!gantt._isFullScreenActive()) { | ||
gantt.collapse(); | ||
} | ||
var isGanttExpanded = isExpanded(); | ||
if(isGanttExpanded){ | ||
expanded = true; | ||
workaroundIESizing(); | ||
setTimeout(function(){ | ||
gantt.callEvent("onExpand"); | ||
}); | ||
}else if (expanded){ | ||
expanded = false; | ||
workaroundIESizingEnd(); | ||
setTimeout(function(){ | ||
gantt.callEvent("onCollapse"); | ||
}); | ||
} | ||
var fsChange = gantt._fs_change.length ? gantt._fs_change.pop() : null; | ||
} | ||
gantt._expanded = !gantt._expanded; | ||
if (!fsChange) { | ||
gantt.render(); | ||
} | ||
else { | ||
if (fsChange.condition()) { | ||
fsChange.callback(); | ||
} | ||
else { | ||
var interval = setInterval(function () { | ||
if (fsChange.condition()) { | ||
clearInterval(interval); | ||
interval = null; | ||
fsChange.callback(); | ||
} | ||
}, 10); | ||
gantt.event(document, "webkitfullscreenchange", onFullScreenChange); | ||
gantt.event(document, "mozfullscreenchange", onFullScreenChange); | ||
gantt.event(document, "MSFullscreenChange", onFullScreenChange); | ||
//For IE on Win 10 | ||
gantt.event(document, "fullscreenChange", onFullScreenChange); | ||
gantt.event(document, "fullscreenchange", onFullScreenChange); | ||
setTimeout(function () { | ||
if (!interval) return; | ||
clearInterval(interval); | ||
fsChange.callback(); | ||
}, 100); | ||
} | ||
function cantFullscreen(){ | ||
if(!gantt.$container){ | ||
return true; | ||
} | ||
}; | ||
if(!isFullscreenAvailable()){ | ||
// eslint-disable-next-line no-console | ||
var method = console.warning || console.log; | ||
method("The `fullscreen` feature not being allowed, or full-screen mode not being supported"); | ||
return true; | ||
} | ||
gantt._isFullScreenActive = function () { | ||
return (document.fullscreenElement || | ||
document.mozFullScreenElement || | ||
document.webkitFullscreenElement || | ||
document.msFullscreenElement); | ||
}; | ||
return false; | ||
} | ||
gantt._isFullScreenAvailable = function () { | ||
return document.fullscreenEnabled || | ||
document.webkitFullscreenEnabled || | ||
document.mozFullScreenEnabled || | ||
document.msFullscreenEnabled; | ||
}; | ||
gantt.expand = function () { | ||
if(cantFullscreen()){ | ||
return; | ||
} | ||
gantt.event(document, "webkitfullscreenchange", gantt._onFullScreenChange); | ||
gantt.event(document, "mozfullscreenchange", gantt._onFullScreenChange); | ||
gantt.event(document, "MSFullscreenChange", gantt._onFullScreenChange); | ||
//For IE on Win 10 | ||
gantt.event(document, "fullscreenChange", gantt._onFullScreenChange); | ||
gantt.event(document, "fullscreenchange", gantt._onFullScreenChange); | ||
gantt.expand = function () { | ||
if (!gantt.callEvent("onBeforeExpand", [])) | ||
return; | ||
gantt._toggleFullScreen(true); | ||
var ganttBlock = gantt.$root; | ||
var element = gantt.$root; | ||
do { | ||
ganttBlock._position = ganttBlock.style.position || ""; | ||
ganttBlock.style.position = "static"; | ||
} while ((ganttBlock = ganttBlock.parentNode) && ganttBlock.style); | ||
ganttBlock = gantt.$root; | ||
ganttBlock.style.position = "absolute"; | ||
ganttBlock._width = ganttBlock.style.width; | ||
ganttBlock._height = ganttBlock.style.height; | ||
ganttBlock.style.width = ganttBlock.style.height = "100%"; | ||
ganttBlock.style.top = ganttBlock.style.left = "0px"; | ||
var top = document.body; | ||
top.scrollTop = 0; | ||
top = top.parentNode; | ||
if (top) | ||
top.scrollTop = 0; | ||
document.body._overflow = document.body.style.overflow || ""; | ||
document.body.style.overflow = "hidden"; | ||
document.body._width = document.body.style.width; | ||
document.body._height = document.body.style.height; | ||
var callback = function () { | ||
//IE11 Full screen Hack | ||
if (document.documentElement.msRequestFullscreen && gantt.$root) { | ||
gantt.$root.style.width = document.body.style.width = window.outerWidth + "px"; | ||
gantt.$root.style.height = document.body.style.height = window.outerHeight + "px"; | ||
} | ||
gantt.render(); | ||
gantt.callEvent("onExpand", []); | ||
}; | ||
if (!gantt._isFullScreenAvailable()) { | ||
gantt._expanded = !gantt._expanded; | ||
callback(); | ||
if (element.requestFullscreen) { | ||
element.requestFullscreen(); | ||
} else if (element.msRequestFullscreen) { | ||
element.msRequestFullscreen(); | ||
} else if (element.mozRequestFullScreen) { | ||
element.mozRequestFullScreen(); | ||
} else if (element.webkitRequestFullscreen) { | ||
element.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); | ||
} | ||
else { | ||
var oldGanttHeight = window.outerHeight; | ||
var oldGanttWidth = window.outerWidth; | ||
gantt._fs_change.push({ | ||
condition: function () { | ||
return oldGanttHeight < window.outerHeight && oldGanttWidth <= window.outerWidth; | ||
}, | ||
callback: callback | ||
}); | ||
} | ||
}; | ||
gantt.collapse = function () { | ||
if (!gantt.callEvent("onBeforeCollapse", [])) | ||
if(cantFullscreen()){ | ||
return; | ||
var ganttBlock = gantt.$root; | ||
do { | ||
ganttBlock.style.position = ganttBlock._position; | ||
} while ((ganttBlock = ganttBlock.parentNode) && ganttBlock.style); | ||
ganttBlock = gantt.$root; | ||
ganttBlock.style.width = ganttBlock._width; | ||
ganttBlock.style.height = ganttBlock._height; | ||
document.body.style.overflow = document.body._overflow; | ||
document.body.style.width = document.body._width; | ||
document.body.style.height = document.body._height; | ||
} | ||
gantt._toggleFullScreen(false); | ||
if(!isExpanded()){ | ||
return; | ||
} | ||
var callback = function () { | ||
gantt.render(); | ||
gantt.callEvent("onCollapse", []); | ||
}; | ||
if (!gantt.callEvent("onBeforeCollapse", [])) | ||
return; | ||
if (!gantt._isFullScreenAvailable()) { | ||
gantt._expanded = !gantt._expanded; | ||
callback(); | ||
if (document.exitFullscreen) { | ||
document.exitFullscreen(); | ||
} else if (document.msExitFullscreen) { | ||
document.msExitFullscreen(); | ||
} else if (document.mozCancelFullScreen) { | ||
document.mozCancelFullScreen(); | ||
} else if (document.webkitExitFullscreen) { | ||
document.webkitExitFullscreen(); | ||
} | ||
else { | ||
var oldGanttHeight = window.outerHeight; | ||
var oldGanttWidth = window.outerWidth; | ||
gantt._fs_change.push({ | ||
condition: function () { | ||
return oldGanttHeight > window.outerHeight && oldGanttWidth >= window.outerWidth; | ||
}, | ||
callback: callback | ||
}); | ||
} | ||
}; | ||
gantt._toggleFullScreen = function (on) { | ||
if (on || (!document.fullscreenElement && // alternative standard method | ||
!document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement)) { // current working methods | ||
if (document.documentElement.requestFullscreen) { | ||
document.documentElement.requestFullscreen(); | ||
} else if (document.documentElement.msRequestFullscreen) { | ||
document.documentElement.msRequestFullscreen(); | ||
} else if (document.documentElement.mozRequestFullScreen) { | ||
document.documentElement.mozRequestFullScreen(); | ||
} else if (document.documentElement.webkitRequestFullscreen) { | ||
document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); | ||
} | ||
} else { | ||
if (document.exitFullscreen) { | ||
document.exitFullscreen(); | ||
} else if (document.msExitFullscreen) { | ||
document.msExitFullscreen(); | ||
} else if (document.mozCancelFullScreen) { | ||
document.mozCancelFullScreen(); | ||
} else if (document.webkitExitFullscreen) { | ||
document.webkitExitFullscreen(); | ||
} | ||
} | ||
}; | ||
})(); | ||
@@ -301,0 +247,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -391,7 +391,13 @@ | ||
getShortcutHandler: function(shortcut, scope){ | ||
var commands = gantt.$keyboardNavigation.shortcuts.parse(shortcut); | ||
if(commands.length){ | ||
return this.getCommandHandler(commands[0], scope); | ||
} | ||
}, | ||
getCommandHandler: function(command, scope){ | ||
var scopeObject = getScope(scope); | ||
if(scopeObject){ | ||
var commands = gantt.$keyboardNavigation.shortcuts.parse(shortcut); | ||
if(commands.length){ | ||
return scopeObject.prototype.findHandler(commands[0]); | ||
if(command){ | ||
return scopeObject.prototype.findHandler(command); | ||
} | ||
@@ -1374,3 +1380,3 @@ } | ||
while (index >= 0) { | ||
if (gantt.getTaskByIndex(index) !== undefined) { | ||
if (gantt.getTaskByIndex(index)) { | ||
nextIndex = index; | ||
@@ -1377,0 +1383,0 @@ break; |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
/* | ||
@license | ||
dhtmlxGantt v.6.0.4 Standard | ||
dhtmlxGantt v.6.0.7 Standard | ||
This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. | ||
@@ -6,0 +6,0 @@ |
{ | ||
"name": "dhtmlx-gantt", | ||
"version": "6.0.4", | ||
"version": "6.0.7", | ||
"description": "An open source JavaScript Gantt chart that helps you illustrate a project schedule in a nice-looking chart.", | ||
@@ -5,0 +5,0 @@ "main": "codebase/dhtmlxgantt.js", |
@@ -0,1 +1,9 @@ | ||
### 6.0.7 | ||
- reduce the number of redundant repaints of the resource diagram | ||
- fix script error from the resource diagram after deleting a task | ||
- fix script error from the fullscreen extension after exiting fullscreen mode on the `Esc` key | ||
- fix incorrect state of links drag and drop when dragging a link between multiple charts on the page. Creating links between gantts is not supported | ||
- fix script error after deleting multiple selected tasks using keyboard navigation extension | ||
- fix default mapping of inline editors. Inline editors shouldn't block keyboard shortcuts on task cells | ||
### 6.0.4 | ||
@@ -2,0 +10,0 @@ - fix incorrect task position after task vertical dnd in order_branch='marker' mode |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3669233
44968