{"version":3,"sources":["kendo.gantt.js"],"names":["f","define","$","normalizeText","text","String","replace","REPLACE_REGEX","SPACE","objectKey","object","key","parts","push","sort","join","hashKey","str","i","hash","length","charCodeAt","zeroSize","width","height","baseline","measureText","style","measureBox","TextMetrics","current","measure","LRUCache","DEFAULT_OPTIONS","defaultMeasureBox","window","kendo","util","Class","extend","init","size","this","_size","_length","_map","put","value","map","entry","_head","_tail","newer","older","get","baselineMarkerSize","document","createElement","cssText","options","_cache","styleKey","cacheKey","cachedResult","baselineMarker","textStr","box","_baselineMarker","cloneNode","textContent","appendChild","body","offsetWidth","offsetHeight","offsetTop","parentNode","removeChild","marker","deepExtend","jQuery","amd","a1","a2","a3","undefined","selector","uid","attr","trimOptions","name","prefix","remove","edit","add","navigate","dateCompareValidator","input","field","picker","dates","container","editable","model","filter","widgetInstance","ui","parent","data","start","end","parseDate","focusTable","table","direct","wrapper","parents","scrollPositions","scrollableParents","TABINDEX","each","index","scrollTop","setActive","e","focus","element","parentsUntil","computedStyle","getComputedStyles","overflow","defaultCommands","GanttTask","GanttDataSource","editors","Editor","PopupEditor","ResourceEditor","Gantt","keys","F10","supportsMedia","browser","support","mobileOS","Observable","Widget","DataSource","ObservableObject","ObservableArray","Query","isArray","inArray","isFunction","proxy","isPlainObject","outerWidth","_outerWidth","outerHeight","_outerHeight","defaultIndicatorWidth","NS","PERCENTAGE_FORMAT","CLICK","WIDTH","STRING","DIRECTIONS","down","origin","position","up","ARIA_DESCENDANT","ARIA_LABEL","ACTIVE_CELL","ACTIVE_OPTION","DOT","TASK_DELETE_CONFIRM","DEPENDENCY_DELETE_CONFIRM","TOGGLE_BUTTON_TEMPLATE","template","BUTTON_TEMPLATE","COMMAND_BUTTON_TEMPLATE","VIEWBUTTONTEMPLATE","HEADER_VIEWS_TEMPLATE","TASK_DROPDOWN_TEMPLATE","DATERANGEEDITOR","title","validationRules","fields","validation","message","appendTo","hide","RESOURCESEDITOR","styles","button","messages","assignButton","click","ganttStyles","rowHeight","listWrapper","list","timelineWrapper","timeline","splitBarWrapper","splitBar","splitBarHover","popupWrapper","popupList","resizeHandle","icon","item","line","buttonDelete","buttonCancel","buttonSave","buttonToggle","primary","hovered","selected","focused","gridHeader","gridHeaderWrap","gridContent","tasks","popup","form","editForm","formContainer","resourcesFormContainer","buttonsContainer","editField","editLabel","resourcesField","toolbar","headerWrapper","footerWrapper","expanded","views","viewsWrapper","actions","iconPlus","iconPdf","iconToggle","viewButtonDefault","viewButton","currentView","link","pdfButton","appendButton","TaskDropDown","fn","call","_popup","direction","navigatable","_current","method","find","sibling","removeClass","removeAttr","addClass","that","itemSelector","appendButtonSelector","addChild","insertBefore","insertAfter","append","Popup","anchor","open","_adjustListWidth","animation","on","target","action","preventDefault","trigger","type","aria-activedescendant","hover","close","bind","keyCode","UP","DOWN","ENTER","ESC","computedWidth","listOuterWidth","getComputedStyle","parseFloat","mozilla","msie","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","css","fontFamily","destroy","clearTimeout","_focusTimeout","off","unbind","createDataSource","dataSource","Error","GanttDependency","Model","id","predecessorId","successorId","GanttDependencyDataSource","schema","modelBase","successors","_dependencies","predecessors","dependencies","apply","view","operator","toArray","create","duration","isMilestone","_offset","newValue","Date","getTime","set","parentId","defaultValue","required","orderId","dateCompare","percentComplete","min","max","step","summary","task","children","taskAllChildren","_removeItems","_childRemoved","_toGanttTask","insert","taskSiblings","_reorderSiblings","_resolveSummaryFields","taskParent","taskChildren","taskId","order","_sort","dir","callback","taskLevel","level","taskTree","l","update","taskInfo","oldValue","offsetChildren","parentTask","offset","modelChangeHandler","sender","_resolveSummaryStart","_resolveSummaryEnd","_resolveSummaryPercentComplete","_updateSummary","getSummaryStart","currentMin","_updateSummaryRecursive","getSummaryEnd","currentMax","getSummaryPercentComplete","aggregate","average","oldOrderId","startIndex","endIndex","newIndex","siblings","Math","childCount","_createNewModel","accept","desktop","dateRange","resources","createButton","editor","format","_buildEditTemplate","editableFields","tmpl","settings","Template","templateSettings","paramName","popupStyles","html","unescape","expr","editTask","_createPopupEditor","is","showDialog","buttons","eq","buttonIndex","currentTarget","kendoWindow","modal","autoFocus","resizable","draggable","visible","deactivate","getKendoWindow","center","editableWidget","save","className","cancel","editorTitle","userTriggered","kendoEditable","clearContainer","validateOnBlur","cycleForm","stopPropagation","updateInfo","_initContainer","_attachHandlers","events","_dettachHandlers","grid","closeHandler","_cancelProxy","_cancel","_saveProxy","_save","row","closest","getByUid","_updateModel","dom","resourcesEditorTitle","resize","_resourceGrid","_createButtons","Grid","columns","resourcesHeader","unitsHeader","dataItem","valueFormat","toString","sortable","filterable","from","unitsValidation","values","prop","iconClass","pdf","_events","_wrapper","_resources","_timeline","_toolbar","_footer","_adjustDimensions","_preventRefresh","_selectedViewName","_dataSource","_assignments","_dropDowns","_list","_resizable","_scrollable","_dataBind","_attachEvents","_createEditor","notify","autoBind","selectable","columnResizeHandleWidth","assignments","taskTemplate","deleteTaskConfirmation","deleteDependencyConfirmation","deleteTaskWindowTitle","deleteDependencyWindowTitle","day","week","month","year","showWorkHours","showWorkDays","workDayStart","workDayEnd","workWeekStart","workWeekEnd","hourSpan","snap","listWidth","select","clearSelection","_refreshHandler","_progressHandler","_errorHandler","_dependencyRefreshHandler","_dependencyErrorHandler","footerDropDown","headerDropDown","_editor","_resizeDraggable","_mediaQuery","removeListener","_mediaQueryHandler","_resizeHandler","footer","setOptions","selectedView","newOptions","isSettings","empty","_setEvents","splitBarHandleClassName","toggleButton","viewsSelector","pdfSelector","toggleSelector","contentSelector","treelist","hoveredClassName","actionsWrap","handler","matches","display","max-width","refresh","_resize","_actions","ns","prepend","matchMedia","addListener","toggleClass","focusedViewIndex","_focusedView","RIGHT","LEFT","hasClass","SPACEBAR","altKey","blur","_viewByIndex","toLowerCase","saveAsPDF","relatedTarget","_createButton","command","commandName","split","listSelector","timelineSelector","splitBarSelector","toolbarHeight","footerHeight","totalHeight","totalWidth","splitBarWidth","treeListWidth","_scrollTo","scrollTarget","scrollIntoView","content","actionsSelector","actionMessages","firstSlot","_timeSlots","_createTask","effects","column","toggleButtons","restoreFocus","_cachedCurrent","_createResourceEditor","GanttList","_navigatable","cell","_updateTask","selection","oldWidth","newWidth","currentViewSelector","GanttTimeline","viewName","resizeStart","dependency","predecessor","successor","_createDependency","removeTask","removeDependency","_requestStart","_error","refreshDependencies","dataTextField","dataColorField","dataFormatField","_assignmentsRefreshHandler","dataTaskIdField","dataResourceIdField","dataValueField","_createPopupButton","cancelTask","saveTask","_onDialogClose","assignmentsModel","Units","_resourceEditor","_wrapResourceData","_updateAssignments","range","_render","_renderDependencies","date","_scrollToDate","_modelFromElement","setDataSource","_setDataSource","fetch","setDependenciesDataSource","items","assignment","resource","j","newLength","resourceId","hasMatch","_updateAssignment","splice","_removeAssignment","shift","_createAssignment","sync","taskCopy","toJSON","_editTask","_syncDataSource","resourceValueField","_taskConfirm","_removeTask","_scrollToUid","_preventDependencyRefresh","resourceValue","_dependencyConfirm","_removeDependency","_removeTaskDependencies","_removeTaskAssignments","_confirm","confirmation","scrollToUid","cachedUid","cachedIndex","_progress","_assignResources","groupAssigments","group","assigments","applyTaskResource","setter","wrapTask","resourcedId","formatedValue","color","result","taskAssignments","valuePerResource","toggle","progress","timelineWidth","timelineScroll","treeListWrapper","kendoResizable","orientation","handle","scrollLeft","delta","x","initialDelta","isRtl","_renderCurrentTime","headerSelector","timelineHeader","timelineContent","treeListHeader","treeListContent","wheelDeltaY","one","cellIndex","headerTable","header","contentTable","tables","expandState","collapse","expand","scroll","reverse","scrollVertical","_rowHeight","moveVertical","subling","moveHorizontal","toggleExpandedState","deleteAction","selectedTask","isInput","ctrlKey","setTimeout","itemToFocus","focusableItems","_getToolbarItems","idx","shiftKey","TAB","DELETE","isCell","_startEditHandler","tagName","concat","activeElement","_activeElement","promises","when","done","_adjustHeight","PDFMixin","_drawPDF","listClass","clone","_drawPDFShadow","avoidLinks","plugin"],"mappings":"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","file":"kendo.gantt.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('util/text-metrics', ['kendo.core'], f);\n}(function () {\n (function ($) {\n window.kendo.util = window.kendo.util || {};\n var LRUCache = kendo.Class.extend({\n init: function (size) {\n this._size = size;\n this._length = 0;\n this._map = {};\n },\n put: function (key, value) {\n var map = this._map;\n var entry = {\n key: key,\n value: value\n };\n map[key] = entry;\n if (!this._head) {\n this._head = this._tail = entry;\n } else {\n this._tail.newer = entry;\n entry.older = this._tail;\n this._tail = entry;\n }\n if (this._length >= this._size) {\n map[this._head.key] = null;\n this._head = this._head.newer;\n this._head.older = null;\n } else {\n this._length++;\n }\n },\n get: function (key) {\n var entry = this._map[key];\n if (entry) {\n if (entry === this._head && entry !== this._tail) {\n this._head = entry.newer;\n this._head.older = null;\n }\n if (entry !== this._tail) {\n if (entry.older) {\n entry.older.newer = entry.newer;\n entry.newer.older = entry.older;\n }\n entry.older = this._tail;\n entry.newer = null;\n this._tail.newer = entry;\n this._tail = entry;\n }\n return entry.value;\n }\n }\n });\n var REPLACE_REGEX = /\\r?\\n|\\r|\\t/g;\n var SPACE = ' ';\n function normalizeText(text) {\n return String(text).replace(REPLACE_REGEX, SPACE);\n }\n function objectKey(object) {\n var parts = [];\n for (var key in object) {\n parts.push(key + object[key]);\n }\n return parts.sort().join('');\n }\n function hashKey(str) {\n var hash = 2166136261;\n for (var i = 0; i < str.length; ++i) {\n hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);\n hash ^= str.charCodeAt(i);\n }\n return hash >>> 0;\n }\n function zeroSize() {\n return {\n width: 0,\n height: 0,\n baseline: 0\n };\n }\n var DEFAULT_OPTIONS = { baselineMarkerSize: 1 };\n var defaultMeasureBox;\n if (typeof document !== 'undefined') {\n defaultMeasureBox = document.createElement('div');\n defaultMeasureBox.style.cssText = 'position: absolute !important; top: -4000px !important; width: auto !important; height: auto !important;' + 'padding: 0 !important; margin: 0 !important; border: 0 !important;' + 'line-height: normal !important; visibility: hidden !important; white-space: pre!important;';\n }\n var TextMetrics = kendo.Class.extend({\n init: function (options) {\n this._cache = new LRUCache(1000);\n this.options = $.extend({}, DEFAULT_OPTIONS, options);\n },\n measure: function (text, style, options) {\n if (options === void 0) {\n options = {};\n }\n if (!text) {\n return zeroSize();\n }\n var styleKey = objectKey(style);\n var cacheKey = hashKey(text + styleKey);\n var cachedResult = this._cache.get(cacheKey);\n if (cachedResult) {\n return cachedResult;\n }\n var size = zeroSize();\n var measureBox = options.box || defaultMeasureBox;\n var baselineMarker = this._baselineMarker().cloneNode(false);\n for (var key in style) {\n var value = style[key];\n if (typeof value !== 'undefined') {\n measureBox.style[key] = value;\n }\n }\n var textStr = options.normalizeText !== false ? normalizeText(text) : String(text);\n measureBox.textContent = textStr;\n measureBox.appendChild(baselineMarker);\n document.body.appendChild(measureBox);\n if (textStr.length) {\n size.width = measureBox.offsetWidth - this.options.baselineMarkerSize;\n size.height = measureBox.offsetHeight;\n size.baseline = baselineMarker.offsetTop + this.options.baselineMarkerSize;\n }\n if (size.width > 0 && size.height > 0) {\n this._cache.put(cacheKey, size);\n }\n measureBox.parentNode.removeChild(measureBox);\n return size;\n },\n _baselineMarker: function () {\n var marker = document.createElement('div');\n marker.style.cssText = 'display: inline-block; vertical-align: baseline;width: ' + this.options.baselineMarkerSize + 'px; height: ' + this.options.baselineMarkerSize + 'px;overflow: hidden;';\n return marker;\n }\n });\n TextMetrics.current = new TextMetrics();\n function measureText(text, style, measureBox) {\n return TextMetrics.current.measure(text, style, measureBox);\n }\n kendo.deepExtend(kendo.util, {\n LRUCache: LRUCache,\n TextMetrics: TextMetrics,\n measureText: measureText,\n objectKey: objectKey,\n hashKey: hashKey,\n normalizeText: normalizeText\n });\n }(window.kendo.jQuery));\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));\n(function (f, define) {\n define('kendo.gantt', [\n 'kendo.data',\n 'kendo.popup',\n 'kendo.window',\n 'kendo.resizable',\n 'kendo.gantt.list',\n 'kendo.gantt.timeline',\n 'kendo.grid',\n 'kendo.pdf'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'gantt',\n name: 'Gantt',\n category: 'web',\n description: 'The Gantt component.',\n depends: [\n 'data',\n 'popup',\n 'resizable',\n 'window',\n 'gantt.list',\n 'gantt.timeline',\n 'grid'\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo;\n var keys = $.extend({ F10: 121 }, kendo.keys);\n var supportsMedia = 'matchMedia' in window;\n var browser = kendo.support.browser;\n var mobileOS = kendo.support.mobileOS;\n var Observable = kendo.Observable;\n var Widget = kendo.ui.Widget;\n var DataSource = kendo.data.DataSource;\n var ObservableObject = kendo.data.ObservableObject;\n var ObservableArray = kendo.data.ObservableArray;\n var Query = kendo.data.Query;\n var isArray = $.isArray;\n var inArray = $.inArray;\n var isFunction = kendo.isFunction;\n var proxy = $.proxy;\n var extend = $.extend;\n var isPlainObject = $.isPlainObject;\n var map = $.map;\n var outerWidth = kendo._outerWidth;\n var outerHeight = kendo._outerHeight;\n var defaultIndicatorWidth = 3;\n var NS = '.kendoGantt';\n var PERCENTAGE_FORMAT = 'p0';\n var TABINDEX = 'tabIndex';\n var CLICK = 'click';\n var WIDTH = 'width';\n var STRING = 'string';\n var DIRECTIONS = {\n 'down': {\n origin: 'bottom left',\n position: 'top left'\n },\n 'up': {\n origin: 'top left',\n position: 'bottom left'\n }\n };\n var ARIA_DESCENDANT = 'aria-activedescendant';\n var ARIA_LABEL = 'aria-label';\n var ACTIVE_CELL = 'gantt_active_cell';\n var ACTIVE_OPTION = 'action-option-focused';\n var DOT = '.';\n var TASK_DELETE_CONFIRM = 'Are you sure you want to delete this task?';\n var DEPENDENCY_DELETE_CONFIRM = 'Are you sure you want to delete this dependency?';\n var TOGGLE_BUTTON_TEMPLATE = kendo.template('');\n var BUTTON_TEMPLATE = '';\n var COMMAND_BUTTON_TEMPLATE = '#=text#';\n var VIEWBUTTONTEMPLATE = kendo.template('
  • &nbps;
  • ');\n var HEADER_VIEWS_TEMPLATE = kendo.template('');\n var TASK_DROPDOWN_TEMPLATE = kendo.template('
    ' + '' + '
    ');\n var DATERANGEEDITOR = function (container, options) {\n var attr = {\n name: options.field,\n title: options.title\n };\n var validationRules = options.model.fields[options.field].validation;\n if (validationRules && isPlainObject(validationRules) && validationRules.message) {\n attr[kendo.attr('dateCompare-msg')] = validationRules.message;\n }\n $('').attr(attr).appendTo(container);\n $('').hide().appendTo(container);\n };\n var RESOURCESEDITOR = function (container, options) {\n $('' + options.messages.assignButton + '').click(options.click).appendTo(container);\n };\n var ganttStyles = {\n wrapper: 'k-widget k-gantt',\n rowHeight: 'k-gantt-rowheight',\n listWrapper: 'k-gantt-layout k-gantt-treelist',\n list: 'k-gantt-treelist',\n timelineWrapper: 'k-gantt-layout k-gantt-timeline',\n timeline: 'k-gantt-timeline',\n splitBarWrapper: 'k-splitbar k-state-default k-splitbar-horizontal k-splitbar-draggable-horizontal k-gantt-layout',\n splitBar: 'k-splitbar',\n splitBarHover: 'k-splitbar-horizontal-hover',\n popupWrapper: 'k-list-container',\n popupList: 'k-list k-reset',\n resizeHandle: 'k-resize-handle',\n icon: 'k-icon',\n item: 'k-item',\n line: 'k-line',\n buttonDelete: 'k-gantt-delete',\n buttonCancel: 'k-gantt-cancel',\n buttonSave: 'k-gantt-update',\n buttonToggle: 'k-gantt-toggle',\n primary: 'k-primary',\n hovered: 'k-state-hover',\n selected: 'k-state-selected',\n focused: 'k-state-focused',\n gridHeader: 'k-grid-header',\n gridHeaderWrap: 'k-grid-header-wrap',\n gridContent: 'k-grid-content',\n tasks: 'k-gantt-tasks',\n popup: {\n form: 'k-popup-edit-form',\n editForm: 'k-gantt-edit-form',\n formContainer: 'k-edit-form-container',\n resourcesFormContainer: 'k-resources-form-container',\n message: 'k-popup-message',\n buttonsContainer: 'k-edit-buttons k-state-default',\n button: 'k-button',\n editField: 'k-edit-field',\n editLabel: 'k-edit-label',\n resourcesField: 'k-gantt-resources'\n },\n toolbar: {\n headerWrapper: 'k-floatwrap k-header k-gantt-toolbar',\n footerWrapper: 'k-floatwrap k-header k-gantt-toolbar',\n toolbar: 'k-gantt-toolbar',\n expanded: 'k-state-expanded',\n views: 'k-gantt-views',\n viewsWrapper: 'k-reset k-header k-gantt-views',\n actions: 'k-gantt-actions',\n button: 'k-button k-button-icontext',\n buttonToggle: 'k-button k-button-icon k-gantt-toggle',\n iconPlus: 'k-icon k-i-plus',\n iconPdf: 'k-icon k-i-file-pdf',\n iconToggle: 'k-icon k-i-layout-1-by-4',\n viewButtonDefault: 'k-state-default',\n viewButton: 'k-view',\n currentView: 'k-current-view',\n link: 'k-link',\n pdfButton: 'k-gantt-pdf',\n appendButton: 'k-gantt-create'\n }\n };\n function selector(uid) {\n return '[' + kendo.attr('uid') + (uid ? '=\\'' + uid + '\\']' : ']');\n }\n function trimOptions(options) {\n delete options.name;\n delete options.prefix;\n delete options.remove;\n delete options.edit;\n delete options.add;\n delete options.navigate;\n return options;\n }\n function dateCompareValidator(input) {\n if (input.filter('[name=end], [name=start]').length) {\n var field = input.attr('name');\n var picker = kendo.widgetInstance(input, kendo.ui);\n var dates = {};\n var container = input;\n var editable;\n var model;\n while (container !== window && !editable) {\n container = container.parent();\n editable = container.data('kendoEditable');\n }\n model = editable ? editable.options.model : null;\n if (!model) {\n return true;\n }\n dates.start = model.start;\n dates.end = model.end;\n dates[field] = picker ? picker.value() : kendo.parseDate(input.value());\n return dates.start <= dates.end;\n }\n return true;\n }\n function focusTable(table, direct) {\n var wrapper = table.parents('[' + kendo.attr('role') + '=\"gantt\"]');\n var scrollPositions = [];\n var parents = scrollableParents(wrapper);\n table.attr(TABINDEX, 0);\n if (direct) {\n parents.each(function (index, parent) {\n scrollPositions[index] = $(parent).scrollTop();\n });\n }\n try {\n table[0].setActive();\n } catch (e) {\n table[0].focus();\n }\n if (direct) {\n parents.each(function (index, parent) {\n $(parent).scrollTop(scrollPositions[index]);\n });\n }\n }\n function scrollableParents(element) {\n return $(element).parentsUntil('body').filter(function (index, element) {\n var computedStyle = kendo.getComputedStyles(element, ['overflow']);\n return computedStyle.overflow != 'visible';\n }).add(window);\n }\n var defaultCommands;\n var TaskDropDown = Observable.extend({\n init: function (element, options) {\n Observable.fn.init.call(this);\n this.element = element;\n this.options = extend(true, {}, this.options, options);\n this._popup();\n },\n options: {\n direction: 'down',\n navigatable: false\n },\n _current: function (method) {\n var ganttStyles = Gantt.styles;\n var current = this.list.find(DOT + ganttStyles.focused);\n var sibling = current[method]();\n if (sibling.length) {\n current.removeClass(ganttStyles.focused).removeAttr('id');\n sibling.addClass(ganttStyles.focused).attr('id', ACTIVE_OPTION);\n this.list.find('ul').removeAttr(ARIA_DESCENDANT).attr(ARIA_DESCENDANT, ACTIVE_OPTION);\n }\n },\n _popup: function () {\n var that = this;\n var ganttStyles = Gantt.styles;\n var itemSelector = 'li' + DOT + ganttStyles.item;\n var appendButtonSelector = DOT + ganttStyles.toolbar.appendButton;\n var actions = this.options.messages.actions;\n var navigatable = this.options.navigatable;\n this.list = $(TASK_DROPDOWN_TEMPLATE({\n styles: ganttStyles,\n actions: [\n {\n data: 'add',\n text: actions.addChild\n },\n {\n data: 'insert-before',\n text: actions.insertBefore\n },\n {\n data: 'insert-after',\n text: actions.insertAfter\n }\n ]\n }));\n this.element.append(this.list);\n this.popup = new kendo.ui.Popup(this.list, extend({\n anchor: this.element.find(appendButtonSelector),\n open: function () {\n that._adjustListWidth();\n },\n animation: this.options.animation\n }, DIRECTIONS[this.options.direction]));\n this.element.on(CLICK + NS, appendButtonSelector, function (e) {\n var target = $(this);\n var action = target.attr(kendo.attr('action'));\n e.preventDefault();\n if (action) {\n that.trigger('command', { type: action });\n } else {\n that.popup.open();\n if (navigatable) {\n that.list.find('li:first').addClass(ganttStyles.focused).attr('id', ACTIVE_OPTION).end().find('ul').attr({\n TABINDEX: 0,\n 'aria-activedescendant': ACTIVE_OPTION\n }).focus();\n }\n }\n });\n this.list.find(itemSelector).hover(function () {\n $(this).addClass(ganttStyles.hovered);\n }, function () {\n $(this).removeClass(ganttStyles.hovered);\n }).end().on(CLICK + NS, itemSelector, function () {\n that.trigger('command', { type: $(this).attr(kendo.attr('action')) });\n that.popup.close();\n });\n if (navigatable) {\n this.popup.bind('close', function () {\n that.list.find(itemSelector).removeClass(ganttStyles.focused).end().find('ul').attr(TABINDEX, 0);\n that.element.parents('[' + kendo.attr('role') + '=\"gantt\"]').find(DOT + ganttStyles.gridContent + ' > table:first').focus();\n });\n this.list.find('ul').on('keydown' + NS, function (e) {\n var key = e.keyCode;\n switch (key) {\n case keys.UP:\n e.preventDefault();\n that._current('prev');\n break;\n case keys.DOWN:\n e.preventDefault();\n that._current('next');\n break;\n case keys.ENTER:\n that.list.find(DOT + ganttStyles.focused).click();\n break;\n case keys.ESC:\n e.preventDefault();\n that.popup.close();\n break;\n }\n });\n }\n },\n _adjustListWidth: function () {\n var list = this.list;\n var ganttStyles = Gantt.styles;\n var width = list[0].style.width;\n var wrapper = this.element.find(DOT + ganttStyles.toolbar.appendButton);\n var listOuterWidth = outerWidth(list);\n var computedStyle;\n var computedWidth;\n if (!list.data(WIDTH) && width) {\n return;\n }\n computedStyle = window.getComputedStyle ? window.getComputedStyle(wrapper[0], null) : 0;\n computedWidth = computedStyle ? parseFloat(computedStyle.width) : outerWidth(wrapper);\n if (computedStyle && (browser.mozilla || browser.msie)) {\n computedWidth += parseFloat(computedStyle.paddingLeft) + parseFloat(computedStyle.paddingRight) + parseFloat(computedStyle.borderLeftWidth) + parseFloat(computedStyle.borderRightWidth);\n }\n if (list.css('box-sizing') !== 'border-box') {\n width = computedWidth - (outerWidth(list) - list.width());\n } else {\n width = computedWidth;\n }\n if (listOuterWidth > width) {\n width = listOuterWidth;\n }\n list.css({\n fontFamily: wrapper.css('font-family'),\n width: width\n }).data(WIDTH, width);\n },\n destroy: function () {\n clearTimeout(this._focusTimeout);\n this.popup.destroy();\n this.element.off(NS);\n this.list.off(NS);\n this.unbind();\n }\n });\n var createDataSource = function (type, name) {\n return function (options) {\n options = isArray(options) ? { data: options } : options;\n var dataSource = options || {};\n var data = dataSource.data;\n dataSource.data = data;\n if (!(dataSource instanceof type) && dataSource instanceof DataSource) {\n throw new Error('Incorrect DataSource type. Only ' + name + ' instances are supported');\n }\n return dataSource instanceof type ? dataSource : new type(dataSource);\n };\n };\n var GanttDependency = kendo.data.Model.define({\n id: 'id',\n fields: {\n id: { type: 'number' },\n predecessorId: { type: 'number' },\n successorId: { type: 'number' },\n type: { type: 'number' }\n }\n });\n var GanttDependencyDataSource = DataSource.extend({\n init: function (options) {\n DataSource.fn.init.call(this, extend(true, {}, {\n schema: {\n modelBase: GanttDependency,\n model: GanttDependency\n }\n }, options));\n },\n successors: function (id) {\n return this._dependencies('predecessorId', id);\n },\n predecessors: function (id) {\n return this._dependencies('successorId', id);\n },\n dependencies: function (id) {\n var predecessors = this.predecessors(id);\n var successors = this.successors(id);\n predecessors.push.apply(predecessors, successors);\n return predecessors;\n },\n _dependencies: function (field, id) {\n var data = this.view();\n var filter = {\n field: field,\n operator: 'eq',\n value: id\n };\n data = new Query(data).filter(filter).toArray();\n return data;\n }\n });\n GanttDependencyDataSource.create = createDataSource(GanttDependencyDataSource, 'GanttDependencyDataSource');\n var GanttTask = kendo.data.Model.define({\n duration: function () {\n var end = this.end;\n var start = this.start;\n return end - start;\n },\n isMilestone: function () {\n return this.duration() === 0;\n },\n _offset: function (value) {\n var field = [\n 'start',\n 'end'\n ];\n var newValue;\n for (var i = 0; i < field.length; i++) {\n newValue = new Date(this.get(field[i]).getTime() + value);\n this.set(field[i], newValue);\n }\n },\n id: 'id',\n fields: {\n id: { type: 'number' },\n parentId: {\n type: 'number',\n defaultValue: null,\n validation: { required: true }\n },\n orderId: {\n type: 'number',\n validation: { required: true }\n },\n title: {\n type: 'string',\n defaultValue: 'New task'\n },\n start: {\n type: 'date',\n validation: { required: true }\n },\n end: {\n type: 'date',\n validation: {\n required: true,\n dateCompare: dateCompareValidator,\n message: 'End date should be after or equal to the start date'\n }\n },\n percentComplete: {\n type: 'number',\n validation: {\n required: true,\n min: 0,\n max: 1,\n step: 0.01\n }\n },\n summary: { type: 'boolean' },\n expanded: {\n type: 'boolean',\n defaultValue: true\n }\n }\n });\n var GanttDataSource = DataSource.extend({\n init: function (options) {\n DataSource.fn.init.call(this, extend(true, {}, {\n schema: {\n modelBase: GanttTask,\n model: GanttTask\n }\n }, options));\n },\n remove: function (task) {\n var parentId = task.get('parentId');\n var children = this.taskAllChildren(task);\n this._removeItems(children);\n task = DataSource.fn.remove.call(this, task);\n this._childRemoved(parentId, task.get('orderId'));\n return task;\n },\n add: function (task) {\n if (!task) {\n return;\n }\n task = this._toGanttTask(task);\n return this.insert(this.taskSiblings(task).length, task);\n },\n insert: function (index, task) {\n if (!task) {\n return;\n }\n task = this._toGanttTask(task);\n task.set('orderId', index);\n task = DataSource.fn.insert.call(this, index, task);\n this._reorderSiblings(task, this.taskSiblings(task).length - 1);\n this._resolveSummaryFields(this.taskParent(task));\n return task;\n },\n taskChildren: function (task) {\n var data = this.view();\n var filter = {\n field: 'parentId',\n operator: 'eq',\n value: null\n };\n var order = this._sort && this._sort.length ? this._sort : {\n field: 'orderId',\n dir: 'asc'\n };\n var taskId;\n if (!!task) {\n taskId = task.get('id');\n if (taskId === undefined || taskId === null || taskId === '') {\n return [];\n }\n filter.value = taskId;\n }\n data = new Query(data).filter(filter).sort(order).toArray();\n return data;\n },\n taskAllChildren: function (task) {\n var data = [];\n var that = this;\n var callback = function (task) {\n var tasks = that.taskChildren(task);\n data.push.apply(data, tasks);\n map(tasks, callback);\n };\n if (!!task) {\n callback(task);\n } else {\n data = this.view();\n }\n return data;\n },\n taskSiblings: function (task) {\n if (!task) {\n return null;\n }\n var parent = this.taskParent(task);\n return this.taskChildren(parent);\n },\n taskParent: function (task) {\n if (!task || task.get('parentId') === null) {\n return null;\n }\n return this.get(task.parentId);\n },\n taskLevel: function (task) {\n var level = 0;\n var parent = this.taskParent(task);\n while (parent !== null) {\n level += 1;\n parent = this.taskParent(parent);\n }\n return level;\n },\n taskTree: function (task) {\n var data = [];\n var current;\n var tasks = this.taskChildren(task);\n for (var i = 0, l = tasks.length; i < l; i++) {\n current = tasks[i];\n data.push(current);\n if (current.get('expanded')) {\n var children = this.taskTree(current);\n data.push.apply(data, children);\n }\n }\n return data;\n },\n update: function (task, taskInfo) {\n var that = this;\n var oldValue;\n var offsetChildren = function (parentTask, offset) {\n var children = that.taskAllChildren(parentTask);\n for (var i = 0, l = children.length; i < l; i++) {\n children[i]._offset(offset);\n }\n };\n var modelChangeHandler = function (e) {\n var field = e.field;\n var model = e.sender;\n switch (field) {\n case 'start':\n that._resolveSummaryStart(that.taskParent(model));\n offsetChildren(model, model.get(field).getTime() - oldValue.getTime());\n break;\n case 'end':\n that._resolveSummaryEnd(that.taskParent(model));\n break;\n case 'percentComplete':\n that._resolveSummaryPercentComplete(that.taskParent(model));\n break;\n case 'orderId':\n that._reorderSiblings(model, oldValue);\n break;\n }\n };\n if (taskInfo.parentId !== undefined) {\n oldValue = task.get('parentId');\n if (oldValue !== taskInfo.parentId) {\n task.set('parentId', taskInfo.parentId);\n that._childRemoved(oldValue, task.get('orderId'));\n task.set('orderId', that.taskSiblings(task).length - 1);\n that._resolveSummaryFields(that.taskParent(task));\n }\n delete taskInfo.parentId;\n }\n task.bind('change', modelChangeHandler);\n for (var field in taskInfo) {\n oldValue = task.get(field);\n task.set(field, taskInfo[field]);\n }\n task.unbind('change', modelChangeHandler);\n },\n _resolveSummaryFields: function (summary) {\n if (!summary) {\n return;\n }\n this._updateSummary(summary);\n if (!this.taskChildren(summary).length) {\n return;\n }\n this._resolveSummaryStart(summary);\n this._resolveSummaryEnd(summary);\n this._resolveSummaryPercentComplete(summary);\n },\n _resolveSummaryStart: function (summary) {\n var that = this;\n var getSummaryStart = function (parentTask) {\n var children = that.taskChildren(parentTask);\n var min = children[0].start.getTime();\n var currentMin;\n for (var i = 1, l = children.length; i < l; i++) {\n currentMin = children[i].start.getTime();\n if (currentMin < min) {\n min = currentMin;\n }\n }\n return new Date(min);\n };\n this._updateSummaryRecursive(summary, 'start', getSummaryStart);\n },\n _resolveSummaryEnd: function (summary) {\n var that = this;\n var getSummaryEnd = function (parentTask) {\n var children = that.taskChildren(parentTask);\n var max = children[0].end.getTime();\n var currentMax;\n for (var i = 1, l = children.length; i < l; i++) {\n currentMax = children[i].end.getTime();\n if (currentMax > max) {\n max = currentMax;\n }\n }\n return new Date(max);\n };\n this._updateSummaryRecursive(summary, 'end', getSummaryEnd);\n },\n _resolveSummaryPercentComplete: function (summary) {\n var that = this;\n var getSummaryPercentComplete = function (parentTask) {\n var children = that.taskChildren(parentTask);\n var percentComplete = new Query(children).aggregate([{\n field: 'percentComplete',\n aggregate: 'average'\n }]);\n return percentComplete.percentComplete.average;\n };\n this._updateSummaryRecursive(summary, 'percentComplete', getSummaryPercentComplete);\n },\n _updateSummaryRecursive: function (summary, field, callback) {\n if (!summary) {\n return;\n }\n var value = callback(summary);\n summary.set(field, value);\n var parent = this.taskParent(summary);\n if (parent) {\n this._updateSummaryRecursive(parent, field, callback);\n }\n },\n _childRemoved: function (parentId, index) {\n var parent = parentId === null ? null : this.get(parentId);\n var children = this.taskChildren(parent);\n for (var i = index, l = children.length; i < l; i++) {\n children[i].set('orderId', i);\n }\n this._resolveSummaryFields(parent);\n },\n _reorderSiblings: function (task, oldOrderId) {\n var orderId = task.get('orderId');\n var direction = orderId > oldOrderId;\n var startIndex = direction ? oldOrderId : orderId;\n var endIndex = direction ? orderId : oldOrderId;\n var newIndex = direction ? startIndex : startIndex + 1;\n var siblings = this.taskSiblings(task);\n endIndex = Math.min(endIndex, siblings.length - 1);\n for (var i = startIndex; i <= endIndex; i++) {\n if (siblings[i] === task) {\n continue;\n }\n siblings[i].set('orderId', newIndex);\n newIndex += 1;\n }\n },\n _updateSummary: function (task) {\n if (task !== null) {\n var childCount = this.taskChildren(task).length;\n task.set('summary', childCount > 0);\n }\n },\n _toGanttTask: function (task) {\n if (!(task instanceof GanttTask)) {\n var taskInfo = task;\n task = this._createNewModel();\n task.accept(taskInfo);\n }\n return task;\n }\n });\n GanttDataSource.create = createDataSource(GanttDataSource, 'GanttDataSource');\n extend(true, kendo.data, {\n GanttDataSource: GanttDataSource,\n GanttTask: GanttTask,\n GanttDependencyDataSource: GanttDependencyDataSource,\n GanttDependency: GanttDependency\n });\n var editors = {\n desktop: {\n dateRange: DATERANGEEDITOR,\n resources: RESOURCESEDITOR\n }\n };\n var Editor = kendo.Observable.extend({\n init: function (element, options) {\n kendo.Observable.fn.init.call(this);\n this.element = element;\n this.options = extend(true, {}, this.options, options);\n this.createButton = this.options.createButton;\n },\n fields: function (editors, model) {\n var that = this;\n var options = this.options;\n var messages = options.messages.editor;\n var resources = options.resources;\n var fields;\n var click = function (e) {\n e.preventDefault();\n resources.editor(that.container.find(DOT + Gantt.styles.popup.resourcesField), model);\n };\n if (options.editable.template) {\n fields = $.map(model.fields, function (value, key) {\n return { field: key };\n });\n } else {\n fields = [\n {\n field: 'title',\n title: messages.title\n },\n {\n field: 'start',\n title: messages.start,\n editor: editors.dateRange\n },\n {\n field: 'end',\n title: messages.end,\n editor: editors.dateRange\n },\n {\n field: 'percentComplete',\n title: messages.percentComplete,\n format: PERCENTAGE_FORMAT\n }\n ];\n if (model.get(resources.field)) {\n fields.push({\n field: resources.field,\n title: messages.resources,\n messages: messages,\n editor: editors.resources,\n click: click,\n styles: Gantt.styles.popup\n });\n }\n }\n return fields;\n },\n _buildEditTemplate: function (model, fields, editableFields) {\n var resources = this.options.resources;\n var template = this.options.editable.template;\n var settings = extend({}, kendo.Template, this.options.templateSettings);\n var paramName = settings.paramName;\n var popupStyles = Gantt.styles.popup;\n var html = '';\n if (template) {\n if (typeof template === STRING) {\n template = window.unescape(template);\n }\n html += kendo.template(template, settings)(model);\n } else {\n for (var i = 0, length = fields.length; i < length; i++) {\n var field = fields[i];\n html += '
    ';\n if (field.field === resources.field) {\n html += '
    ';\n }\n if (!model.editable || model.editable(field.field)) {\n editableFields.push(field);\n html += '
    ';\n } else {\n var tmpl = '#:';\n if (field.field) {\n field = kendo.expr(field.field, paramName);\n tmpl += field + '==null?\\'\\':' + field;\n } else {\n tmpl += '\\'\\'';\n }\n tmpl += '#';\n tmpl = kendo.template(tmpl, settings);\n html += '
    ' + tmpl(model) + '
    ';\n }\n }\n }\n return html;\n }\n });\n var PopupEditor = Editor.extend({\n destroy: function () {\n this.close();\n this.unbind();\n },\n editTask: function (task) {\n this.editable = this._createPopupEditor(task);\n },\n close: function () {\n var that = this;\n var destroy = function () {\n if (that.editable) {\n that.editable.destroy();\n that.editable = null;\n that.container = null;\n }\n if (that.popup) {\n that.popup.destroy();\n that.popup = null;\n }\n };\n if (this.editable && this.container.is(':visible')) {\n that.trigger('close', { window: that.container });\n this.container.data('kendoWindow').bind('deactivate', destroy).close();\n } else {\n destroy();\n }\n },\n showDialog: function (options) {\n var buttons = options.buttons;\n var popupStyles = Gantt.styles.popup;\n var html = kendo.format('

    {3}

    ', popupStyles.form, popupStyles.formContainer, popupStyles.message, options.text, popupStyles.buttonsContainer);\n for (var i = 0, length = buttons.length; i < length; i++) {\n html += this.createButton(buttons[i]);\n }\n html += '
    ';\n var wrapper = this.element;\n if (this.popup) {\n this.popup.destroy();\n }\n var popup = this.popup = $(html).appendTo(wrapper).eq(0).on('click', DOT + popupStyles.button, function (e) {\n e.preventDefault();\n popup.close();\n var buttonIndex = $(e.currentTarget).index();\n buttons[buttonIndex].click();\n }).kendoWindow({\n modal: true,\n autoFocus: false,\n resizable: false,\n draggable: false,\n title: options.title,\n visible: false,\n deactivate: function () {\n this.destroy();\n wrapper.focus();\n }\n }).getKendoWindow();\n popup.center().open();\n popup.element.find('.k-primary').focus();\n },\n _createPopupEditor: function (task) {\n var that = this;\n var options = {};\n var messages = this.options.messages;\n var ganttStyles = Gantt.styles;\n var popupStyles = ganttStyles.popup;\n var html = kendo.format('
    ', kendo.attr('uid'), task.uid, popupStyles.form, popupStyles.editForm, popupStyles.formContainer);\n var fields = this.fields(editors.desktop, task);\n var editableFields = [];\n html += this._buildEditTemplate(task, fields, editableFields);\n html += '
    ';\n html += this.createButton({\n name: 'update',\n text: messages.save,\n className: Gantt.styles.primary\n });\n html += this.createButton({\n name: 'cancel',\n text: messages.cancel\n });\n if (that.options.editable.destroy !== false) {\n html += this.createButton({\n name: 'delete',\n text: messages.destroy\n });\n }\n html += '
    ';\n var container = this.container = $(html).appendTo(this.element).eq(0).kendoWindow(extend({\n modal: true,\n resizable: false,\n draggable: true,\n title: messages.editor.editorTitle,\n visible: false,\n close: function (e) {\n if (e.userTriggered) {\n if (that.trigger('cancel', {\n container: container,\n model: task\n })) {\n e.preventDefault();\n }\n }\n }\n }, options));\n var editableWidget = container.kendoEditable({\n fields: editableFields,\n model: task,\n clearContainer: false,\n validateOnBlur: true,\n target: that.options.target\n }).data('kendoEditable');\n kendo.cycleForm(container);\n if (!this.trigger('edit', {\n container: container,\n model: task\n })) {\n container.data('kendoWindow').center().open();\n container.on(CLICK + NS, DOT + ganttStyles.buttonCancel, function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.trigger('cancel', {\n container: container,\n model: task\n });\n });\n container.on(CLICK + NS, DOT + ganttStyles.buttonSave, function (e) {\n e.preventDefault();\n e.stopPropagation();\n var fields = that.fields(editors.desktop, task);\n var updateInfo = {};\n var field;\n for (var i = 0, length = fields.length; i < length; i++) {\n field = fields[i].field;\n updateInfo[field] = task.get(field);\n }\n that.trigger('save', {\n container: container,\n model: task,\n updateInfo: updateInfo\n });\n });\n container.on(CLICK + NS, DOT + ganttStyles.buttonDelete, function (e) {\n e.preventDefault();\n e.stopPropagation();\n that.trigger('remove', {\n container: container,\n model: task\n });\n });\n } else {\n that.trigger('cancel', {\n container: container,\n model: task\n });\n }\n return editableWidget;\n }\n });\n var ResourceEditor = Widget.extend({\n init: function (element, options) {\n Widget.fn.init.call(this, element, options);\n this.wrapper = this.element;\n this.model = this.options.model;\n this.resourcesField = this.options.resourcesField;\n this.createButton = this.options.createButton;\n this._initContainer();\n this._attachHandlers();\n },\n events: ['save'],\n open: function () {\n this.window.center().open();\n },\n close: function () {\n this.window.bind('deactivate', proxy(this.destroy, this)).close();\n },\n destroy: function () {\n this._dettachHandlers();\n this.grid.destroy();\n this.grid = null;\n this.window.destroy();\n this.window = null;\n Widget.fn.destroy.call(this);\n kendo.destroy(this.wrapper);\n this.element = this.wrapper = null;\n },\n _attachHandlers: function () {\n var ganttStyles = Gantt.styles;\n var grid = this.grid;\n var closeHandler = this._cancelProxy = proxy(this._cancel, this);\n this.container.on(CLICK + NS, DOT + ganttStyles.buttonCancel, this._cancelProxy);\n this._saveProxy = proxy(this._save, this);\n this.container.on(CLICK + NS, DOT + ganttStyles.buttonSave, this._saveProxy);\n this.window.bind('close', function (e) {\n if (e.userTriggered) {\n closeHandler(e);\n }\n });\n grid.wrapper.on(CLICK + NS, 'input[type=\\'checkbox\\']', function () {\n var element = $(this);\n var row = $(element).closest('tr');\n var model = grid.dataSource.getByUid(row.attr(kendo.attr('uid')));\n var value = $(element).is(':checked') ? 1 : '';\n model.set('value', value);\n });\n },\n _dettachHandlers: function () {\n this._cancelProxy = null;\n this._saveProxy = null;\n this.container.off(NS);\n this.grid.wrapper.off();\n },\n _cancel: function (e) {\n e.preventDefault();\n this.close();\n },\n _save: function (e) {\n e.preventDefault();\n this._updateModel();\n if (!this.wrapper.is(DOT + Gantt.styles.popup.resourcesField)) {\n this.trigger('save', {\n container: this.wrapper,\n model: this.model\n });\n }\n this.close();\n },\n _initContainer: function () {\n var that = this;\n var popupStyles = Gantt.styles.popup;\n var dom = kendo.format('
    \"', popupStyles.form, popupStyles.editForm, popupStyles.formContainer, popupStyles.resourcesFormContainer);\n dom = $(dom);\n this.container = dom.find(DOT + popupStyles.resourcesFormContainer);\n this.window = dom.kendoWindow({\n modal: true,\n resizable: false,\n draggable: true,\n visible: false,\n title: this.options.messages.resourcesEditorTitle,\n open: function () {\n that.grid.resize(true);\n }\n }).data('kendoWindow');\n this._resourceGrid();\n this._createButtons();\n },\n _resourceGrid: function () {\n var that = this;\n var messages = this.options.messages;\n var element = $('
    ').appendTo(this.container);\n this.grid = new kendo.ui.Grid(element, {\n columns: [\n {\n field: 'name',\n title: messages.resourcesHeader,\n template: '