{"version":3,"sources":["kendo.gantt.list.js"],"names":["f","define","$","createPlaceholders","options","i","level","spans","className","push","kendoDomElement","blurActiveElement","activeElement","kendo","_activeElement","nodeName","toLowerCase","blur","window","kendoDom","dom","element","kendoTextElement","text","browser","support","mobileOS","ui","Widget","extend","map","isFunction","oldIE","msie","version","keys","titleFromField","title","start","end","percentComplete","parentId","id","orderId","STRING","NS","CLICK","DOT","SIZE_CALCULATION_TEMPLATE","listStyles","wrapper","header","alt","rtl","editCell","group","gridHeader","gridHeaderWrap","gridContent","gridContentWrap","selected","icon","iconCollapse","iconExpand","iconHidden","iconPlaceHolder","input","link","resizeHandle","resizeHandleInner","dropPositions","dropTop","dropBottom","dropAdd","dropMiddle","dropDenied","dragStatus","dragClue","dragClueText","GanttList","init","fn","call","this","columns","length","dataSource","_columns","_layout","_domTrees","_header","_sortable","_editable","_selectable","_draggable","_resizable","_attachEvents","_adjustHeight","bind","headerCols","tableCols","resizable","find","content","not","each","index","width","outerWidth","eq","last","css","height","parent","outerHeight","destroy","_reorderDraggable","_tableDropArea","_contentDropArea","_columnResizable","touch","timer","clearTimeout","off","levels","name","selectable","editable","that","styles","on","e","model","_modelFromElement","set","get","stopPropagation","headerTree","Tree","contentTree","field","sortable","column","calculateRowHeight","rowHeight","table","format","append","remove","addClass","_rowHeight","domTree","colgroup","_cols","thead","role","_ths","style","minWidth","listWidth","render","_render","tasks","tbody","tableAttr","tabIndex","value","_trs","trigger","attr","ths","data-field","data-title","cols","parseInt","task","rows","_levels","idx","summary","data-uid","uid","data-level","expanded","join","_tds","l","children","_td","formatedValue","label","resourcesField","aria-label","sortableInstance","cell","cells","handler","total","preventDefault","stopImmediatePropagation","data","ns","kendoColumnSorter","ctrlKey","clearSelection","select","selectedClassName","siblings","removeClass","_setDataSource","iconSelector","finishEdit","_closeCell","mousedown","currentTarget","hasClass","_startEditHandler","td","_columnFromElement","_editCell","setTimeout","keyCode","ENTER","key","ESC","_editableContainer","kendoTouch","filter","touchstart","doubletap","initialTouch","is","target","editor","modelCopy","_createNewModel","toJSON","fields","validation","DATATYPE","BINDING","FORMAT","required","_editableContent","detach","type","test","_extractFormat","container","appendTo","kendoDateTimePicker","kendoEditable","clearContainer","dateCompare","message","hide","focusable","focus","cancelUpdate","copy","taskInfo","empty","removeData","unbind","Date","getTime","duration","updateInfo","dropTarget","draggedTask","dropAllowed","isRtl","selector","action","clear","allowDrop","taskParent","defineLimits","offsetTop","getOffset","top","beforeLimit","afterLimit","defineAction","coordinate","location","command","sibling","prev","next","status","hint","kendoDraggable","distance","holdToDrag","ignore","paddingLeft","paddingRight","lineHeight","paddingTop","paddingBottom","cursorOffset","left","dragstart","drag","y","dragend","dragcancel","kendoDropTargetArea","dragenter","toggleClass","dragleave","drop","positionResizeHandle","cellOffset","show","th","position","cellWidth","closest","clientX","scrollLeft","indicatorWidth","columnResizeHandleWidth","offset","kendoResizable","handle","colSelector","contentTable","col","add","startLocation","x","columnWidth","totalWidth","resize","minColumnWidth","delta","resizeend","oldWidth","newWidth","Math","floor","row","getByUid","tr","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.gantt.list.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('kendo.gantt.list', [\n 'kendo.dom',\n 'kendo.touch',\n 'kendo.draganddrop',\n 'kendo.columnsorter',\n 'kendo.datetimepicker',\n 'kendo.editable'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'gantt.list',\n name: 'Gantt List',\n category: 'web',\n description: 'The Gantt List',\n depends: [\n 'dom',\n 'touch',\n 'draganddrop',\n 'columnsorter',\n 'datetimepicker',\n 'editable'\n ],\n hidden: true\n };\n (function ($) {\n var kendo = window.kendo;\n var kendoDom = kendo.dom;\n var kendoDomElement = kendoDom.element;\n var kendoTextElement = kendoDom.text;\n var browser = kendo.support.browser;\n var mobileOS = kendo.support.mobileOS;\n var ui = kendo.ui;\n var Widget = ui.Widget;\n var extend = $.extend;\n var map = $.map;\n var isFunction = $.isFunction;\n var oldIE = browser.msie && browser.version < 9;\n var keys = kendo.keys;\n var titleFromField = {\n 'title': 'Title',\n 'start': 'Start Time',\n 'end': 'End Time',\n 'percentComplete': '% Done',\n 'parentId': 'Predecessor ID',\n 'id': 'ID',\n 'orderId': 'Order ID'\n };\n var STRING = 'string';\n var NS = '.kendoGanttList';\n var CLICK = 'click';\n var DOT = '.';\n var SIZE_CALCULATION_TEMPLATE = '' + '' + '' + '' + '' + '' + '
 
';\n var listStyles = {\n wrapper: 'k-treelist k-grid k-widget',\n header: 'k-header',\n alt: 'k-alt',\n rtl: 'k-rtl',\n editCell: 'k-edit-cell',\n group: 'k-treelist-group',\n gridHeader: 'k-grid-header',\n gridHeaderWrap: 'k-grid-header-wrap',\n gridContent: 'k-grid-content',\n gridContentWrap: 'k-grid-content',\n selected: 'k-state-selected',\n icon: 'k-icon',\n iconCollapse: 'k-i-collapse',\n iconExpand: 'k-i-expand',\n iconHidden: 'k-i-none',\n iconPlaceHolder: 'k-icon k-i-none',\n input: 'k-input',\n link: 'k-link',\n resizeHandle: 'k-resize-handle',\n resizeHandleInner: 'k-resize-handle-inner',\n dropPositions: 'k-insert-top k-insert-bottom k-add k-insert-middle',\n dropTop: 'k-insert-top',\n dropBottom: 'k-insert-bottom',\n dropAdd: 'k-add',\n dropMiddle: 'k-insert-middle',\n dropDenied: 'k-denied',\n dragStatus: 'k-drag-status',\n dragClue: 'k-drag-clue',\n dragClueText: 'k-clue-text'\n };\n function createPlaceholders(options) {\n var spans = [];\n var className = options.className;\n for (var i = 0, level = options.level; i < level; i++) {\n spans.push(kendoDomElement('span', { className: className }));\n }\n return spans;\n }\n function blurActiveElement() {\n var activeElement = kendo._activeElement();\n if (activeElement.nodeName.toLowerCase() !== 'body') {\n $(activeElement).blur();\n }\n }\n var GanttList = ui.GanttList = Widget.extend({\n init: function (element, options) {\n Widget.fn.init.call(this, element, options);\n if (this.options.columns.length === 0) {\n this.options.columns.push('title');\n }\n this.dataSource = this.options.dataSource;\n this._columns();\n this._layout();\n this._domTrees();\n this._header();\n this._sortable();\n this._editable();\n this._selectable();\n this._draggable();\n this._resizable();\n this._attachEvents();\n this._adjustHeight();\n this.bind('render', function () {\n var headerCols;\n var tableCols;\n if (this.options.resizable) {\n headerCols = this.header.find('col');\n tableCols = this.content.find('col');\n this.header.find('th').not(':last').each(function (index) {\n var width = $(this).outerWidth();\n headerCols.eq(index).width(width);\n tableCols.eq(index).width(width);\n });\n headerCols.last().css('width', 'auto');\n tableCols.last().css('width', 'auto');\n }\n }, true);\n },\n _adjustHeight: function () {\n this.content.height(this.element.height() - this.header.parent().outerHeight());\n },\n destroy: function () {\n Widget.fn.destroy.call(this);\n if (this._reorderDraggable) {\n this._reorderDraggable.destroy();\n }\n if (this._tableDropArea) {\n this._tableDropArea.destroy();\n }\n if (this._contentDropArea) {\n this._contentDropArea.destroy();\n }\n if (this._columnResizable) {\n this._columnResizable.destroy();\n }\n if (this.touch) {\n this.touch.destroy();\n }\n if (this.timer) {\n clearTimeout(this.timer);\n }\n this.content.off(NS);\n this.header.find('thead').off(NS);\n this.header.find(DOT + GanttList.link).off(NS);\n this.header = null;\n this.content = null;\n this.levels = null;\n kendo.destroy(this.element);\n },\n options: {\n name: 'GanttList',\n selectable: true,\n editable: true,\n resizable: false\n },\n _attachEvents: function () {\n var that = this;\n var listStyles = GanttList.styles;\n that.content.on(CLICK + NS, 'td > span.' + listStyles.icon + ':not(.' + listStyles.iconHidden + ')', function (e) {\n var element = $(this);\n var model = that._modelFromElement(element);\n model.set('expanded', !model.get('expanded'));\n e.stopPropagation();\n });\n },\n _domTrees: function () {\n this.headerTree = new kendoDom.Tree(this.header[0]);\n this.contentTree = new kendoDom.Tree(this.content[0]);\n },\n _columns: function () {\n var columns = this.options.columns;\n var model = function () {\n this.field = '';\n this.title = '';\n this.editable = false;\n this.sortable = false;\n };\n this.columns = map(columns, function (column) {\n column = typeof column === STRING ? {\n field: column,\n title: titleFromField[column]\n } : column;\n return extend(new model(), column);\n });\n },\n _layout: function () {\n var that = this;\n var options = this.options;\n var element = this.element;\n var listStyles = GanttList.styles;\n var calculateRowHeight = function () {\n var rowHeight = typeof options.rowHeight === STRING ? options.rowHeight : options.rowHeight + 'px';\n var table = $(kendo.format(SIZE_CALCULATION_TEMPLATE, rowHeight));\n var height;\n that.content.append(table);\n height = table.find('tr').outerHeight();\n table.remove();\n return height;\n };\n element.addClass(listStyles.wrapper).append('
').append('
');\n this.header = element.find(DOT + listStyles.gridHeaderWrap);\n this.content = element.find(DOT + listStyles.gridContent);\n if (options.rowHeight) {\n this._rowHeight = calculateRowHeight();\n }\n },\n _header: function () {\n var domTree = this.headerTree;\n var colgroup;\n var thead;\n var table;\n colgroup = kendoDomElement('colgroup', null, this._cols());\n thead = kendoDomElement('thead', { 'role': 'rowgroup' }, [kendoDomElement('tr', { 'role': 'row' }, this._ths())]);\n table = kendoDomElement('table', {\n 'style': { 'minWidth': this.options.listWidth + 'px' },\n 'role': 'grid'\n }, [\n colgroup,\n thead\n ]);\n domTree.render([table]);\n },\n _render: function (tasks) {\n var colgroup;\n var tbody;\n var table;\n var tableAttr = {\n 'style': { 'minWidth': this.options.listWidth + 'px' },\n 'tabIndex': 0,\n 'role': 'treegrid'\n };\n if (this._rowHeight) {\n tableAttr.style.height = tasks.length * this._rowHeight + 'px';\n }\n this.levels = [{\n field: null,\n value: 0\n }];\n colgroup = kendoDomElement('colgroup', null, this._cols());\n tbody = kendoDomElement('tbody', { 'role': 'rowgroup' }, this._trs(tasks));\n table = kendoDomElement('table', tableAttr, [\n colgroup,\n tbody\n ]);\n this.contentTree.render([table]);\n this.trigger('render');\n },\n _ths: function () {\n var columns = this.columns;\n var column;\n var attr;\n var ths = [];\n for (var i = 0, length = columns.length; i < length; i++) {\n column = columns[i];\n attr = {\n 'data-field': column.field,\n 'data-title': column.title,\n className: GanttList.styles.header,\n 'role': 'columnheader'\n };\n ths.push(kendoDomElement('th', attr, [kendoTextElement(column.title)]));\n }\n if (this.options.resizable) {\n ths.push(kendoDomElement('th', {\n className: GanttList.styles.header,\n 'role': 'columnheader'\n }));\n }\n return ths;\n },\n _cols: function () {\n var columns = this.columns;\n var column;\n var style;\n var width;\n var cols = [];\n for (var i = 0, length = columns.length; i < length; i++) {\n column = columns[i];\n width = column.width;\n if (width && parseInt(width, 10) !== 0) {\n style = { style: { width: typeof width === STRING ? width : width + 'px' } };\n } else {\n style = null;\n }\n cols.push(kendoDomElement('col', style, []));\n }\n if (this.options.resizable) {\n cols.push(kendoDomElement('col', { style: { width: '1px' } }));\n }\n return cols;\n },\n _trs: function (tasks) {\n var task;\n var rows = [];\n var attr;\n var className = [];\n var level;\n var listStyles = GanttList.styles;\n for (var i = 0, length = tasks.length; i < length; i++) {\n task = tasks[i];\n level = this._levels({\n idx: task.parentId,\n id: task.id,\n summary: task.summary\n });\n attr = {\n 'data-uid': task.uid,\n 'data-level': level,\n 'role': 'row'\n };\n if (task.summary) {\n attr['aria-expanded'] = task.expanded;\n }\n if (i % 2 !== 0) {\n className.push(listStyles.alt);\n }\n if (task.summary) {\n className.push(listStyles.group);\n }\n if (className.length) {\n attr.className = className.join(' ');\n }\n rows.push(this._tds({\n task: task,\n attr: attr,\n level: level\n }));\n className = [];\n }\n return rows;\n },\n _tds: function (options) {\n var children = [];\n var columns = this.columns;\n var column;\n for (var i = 0, l = columns.length; i < l; i++) {\n column = columns[i];\n children.push(this._td({\n task: options.task,\n column: column,\n level: options.level\n }));\n }\n if (this.options.resizable) {\n children.push(kendoDomElement('td', { 'role': 'gridcell' }));\n }\n return kendoDomElement('tr', options.attr, children);\n },\n _td: function (options) {\n var children = [];\n var resourcesField = this.options.resourcesField;\n var listStyles = GanttList.styles;\n var task = options.task;\n var column = options.column;\n var value = task.get(column.field);\n var formatedValue;\n var label;\n if (column.field == resourcesField) {\n value = value || [];\n formatedValue = [];\n for (var i = 0; i < value.length; i++) {\n formatedValue.push(kendo.format('{0} [{1}]', value[i].get('name'), value[i].get('formatedValue')));\n }\n formatedValue = formatedValue.join(', ');\n } else {\n formatedValue = column.format ? kendo.format(column.format, value) : value;\n }\n if (column.field === 'title') {\n children = createPlaceholders({\n level: options.level,\n className: listStyles.iconPlaceHolder\n });\n children.push(kendoDomElement('span', { className: listStyles.icon + ' ' + (task.summary ? task.expanded ? listStyles.iconCollapse : listStyles.iconExpand : listStyles.iconHidden) }));\n label = kendo.format('{0}, {1:P0}', formatedValue, task.percentComplete);\n }\n children.push(kendoDomElement('span', { 'aria-label': label }, [kendoTextElement(formatedValue)]));\n return kendoDomElement('td', { 'role': 'gridcell' }, children);\n },\n _levels: function (options) {\n var levels = this.levels;\n var level;\n var summary = options.summary;\n var idx = options.idx;\n var id = options.id;\n for (var i = 0, length = levels.length; i < length; i++) {\n level = levels[i];\n if (level.field == idx) {\n if (summary) {\n levels.push({\n field: id,\n value: level.value + 1\n });\n }\n return level.value;\n }\n }\n },\n _sortable: function () {\n var that = this;\n var resourcesField = this.options.resourcesField;\n var columns = this.columns;\n var column;\n var sortableInstance;\n var cells = this.header.find('th[' + kendo.attr('field') + ']');\n var handler = function (e) {\n if (that.dataSource.total() === 0 || that.editable && that.editable.trigger('validate')) {\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n };\n var cell;\n for (var idx = 0, length = cells.length; idx < length; idx++) {\n column = columns[idx];\n if (column.sortable && column.field !== resourcesField) {\n cell = cells.eq(idx);\n sortableInstance = cell.data('kendoColumnSorter');\n if (sortableInstance) {\n sortableInstance.destroy();\n }\n cell.attr('data-' + kendo.ns + 'field', column.field).kendoColumnSorter({ dataSource: this.dataSource }).find(DOT + GanttList.styles.link).on('click' + NS, handler);\n }\n }\n cells = null;\n },\n _selectable: function () {\n var that = this;\n var selectable = this.options.selectable;\n if (selectable) {\n this.content.on(CLICK + NS, 'tr', function (e) {\n var element = $(this);\n if (that.editable) {\n that.editable.trigger('validate');\n }\n if (!e.ctrlKey) {\n that.select(element);\n } else {\n that.clearSelection();\n }\n });\n }\n },\n select: function (value) {\n var element = this.content.find(value);\n var selectedClassName = GanttList.styles.selected;\n if (element.length) {\n element.siblings(DOT + selectedClassName).removeClass(selectedClassName).attr('aria-selected', false).end().addClass(selectedClassName).attr('aria-selected', true);\n this.trigger('change');\n return;\n }\n return this.content.find(DOT + selectedClassName);\n },\n clearSelection: function () {\n var selected = this.select();\n if (selected.length) {\n selected.removeClass(GanttList.styles.selected);\n this.trigger('change');\n }\n },\n _setDataSource: function (dataSource) {\n this.dataSource = dataSource;\n },\n _editable: function () {\n var that = this;\n var listStyles = GanttList.styles;\n var iconSelector = 'span.' + listStyles.icon + ':not(' + listStyles.iconHidden + ')';\n var finishEdit = function () {\n var editable = that.editable;\n if (editable) {\n if (editable.end()) {\n that._closeCell();\n } else {\n editable.trigger('validate');\n }\n }\n };\n var mousedown = function (e) {\n var currentTarget = $(e.currentTarget);\n if (!currentTarget.hasClass(listStyles.editCell)) {\n blurActiveElement();\n }\n };\n if (!this.options.editable) {\n return;\n }\n this._startEditHandler = function (e) {\n var td = e.currentTarget ? $(e.currentTarget) : e;\n var column = that._columnFromElement(td);\n if (that.editable) {\n return;\n }\n if (column && column.editable) {\n that._editCell({\n cell: td,\n column: column\n });\n }\n };\n that.content.on('focusin' + NS, function () {\n clearTimeout(that.timer);\n that.timer = null;\n }).on('focusout' + NS, function () {\n that.timer = setTimeout(finishEdit, 1);\n }).on('keydown' + NS, function (e) {\n if (e.keyCode === keys.ENTER) {\n e.preventDefault();\n }\n }).on('keyup' + NS, function (e) {\n var key = e.keyCode;\n var cell;\n var model;\n switch (key) {\n case keys.ENTER:\n blurActiveElement();\n finishEdit();\n break;\n case keys.ESC:\n if (that.editable) {\n cell = that._editableContainer;\n model = that._modelFromElement(cell);\n if (!that.trigger('cancel', {\n model: model,\n cell: cell\n })) {\n that._closeCell(true);\n }\n }\n break;\n }\n });\n if (!mobileOS) {\n that.content.on('mousedown' + NS, 'td', function (e) {\n mousedown(e);\n }).on('dblclick' + NS, 'td', function (e) {\n if (!$(e.target).is(iconSelector)) {\n that._startEditHandler(e);\n }\n });\n } else {\n that.touch = that.content.kendoTouch({\n filter: 'td',\n touchstart: function (e) {\n mousedown(e.touch);\n },\n doubletap: function (e) {\n if (!$(e.touch.initialTouch).is(iconSelector)) {\n that._startEditHandler(e.touch);\n }\n }\n }).data('kendoTouch');\n }\n },\n _editCell: function (options) {\n var resourcesField = this.options.resourcesField;\n var listStyles = GanttList.styles;\n var cell = options.cell;\n var column = options.column;\n var model = this._modelFromElement(cell);\n var modelCopy = this.dataSource._createNewModel(model.toJSON());\n var field = modelCopy.fields[column.field] || modelCopy[column.field];\n var validation = field.validation;\n var DATATYPE = kendo.attr('type');\n var BINDING = kendo.attr('bind');\n var FORMAT = kendo.attr('format');\n var attr = {\n 'name': column.field,\n 'required': field.validation ? field.validation.required === true : false\n };\n var editor;\n if (column.field === resourcesField) {\n column.editor(cell, modelCopy);\n return;\n }\n this._editableContent = cell.children().detach();\n this._editableContainer = cell;\n cell.data('modelCopy', modelCopy);\n if ((field.type === 'date' || $.type(field) === 'date') && (!column.format || /H|m|s|F|g|u/.test(column.format))) {\n attr[BINDING] = 'value:' + column.field;\n attr[DATATYPE] = 'date';\n if (column.format) {\n attr[FORMAT] = kendo._extractFormat(column.format);\n }\n editor = function (container, options) {\n $('').attr(attr).appendTo(container).kendoDateTimePicker({ format: options.format });\n };\n }\n this.editable = cell.addClass(listStyles.editCell).kendoEditable({\n fields: {\n field: column.field,\n format: column.format,\n editor: column.editor || editor\n },\n model: modelCopy,\n clearContainer: false\n }).data('kendoEditable');\n if (validation && validation.dateCompare && isFunction(validation.dateCompare) && validation.message) {\n $('').hide().appendTo(cell);\n cell.find('[name=' + column.field + ']').attr(kendo.attr('dateCompare-msg'), validation.message);\n }\n this.editable.bind('validate', function (e) {\n var focusable = this.element.find(':kendoFocusable:first').focus();\n if (oldIE) {\n focusable.focus();\n }\n e.preventDefault();\n });\n if (this.trigger('edit', {\n model: model,\n cell: cell\n })) {\n this._closeCell(true);\n }\n },\n _closeCell: function (cancelUpdate) {\n var listStyles = GanttList.styles;\n var cell = this._editableContainer;\n var model = this._modelFromElement(cell);\n var column = this._columnFromElement(cell);\n var field = column.field;\n var copy = cell.data('modelCopy');\n var taskInfo = {};\n taskInfo[field] = copy.get(field);\n cell.empty().removeData('modelCopy').removeClass(listStyles.editCell).append(this._editableContent);\n this.editable.unbind();\n this.editable.destroy();\n this.editable = null;\n this._editableContainer = null;\n this._editableContent = null;\n if (!cancelUpdate) {\n if (field === 'start') {\n taskInfo.end = new Date(taskInfo.start.getTime() + model.duration());\n }\n this.trigger('update', {\n task: model,\n updateInfo: taskInfo\n });\n }\n },\n _draggable: function () {\n var that = this;\n var draggedTask = null;\n var dropAllowed = true;\n var dropTarget;\n var listStyles = GanttList.styles;\n var isRtl = kendo.support.isRtl(this.element);\n var selector = 'tr[' + kendo.attr('level') + ' = 0]:last';\n var action = {};\n var clear = function () {\n draggedTask = null;\n dropTarget = null;\n dropAllowed = true;\n action = {};\n };\n var allowDrop = function (task) {\n var parent = task;\n while (parent) {\n if (draggedTask.get('id') === parent.get('id')) {\n dropAllowed = false;\n break;\n }\n parent = that.dataSource.taskParent(parent);\n }\n };\n var defineLimits = function () {\n var height = $(dropTarget).height();\n var offsetTop = kendo.getOffset(dropTarget).top;\n extend(dropTarget, {\n beforeLimit: offsetTop + height * 0.25,\n afterLimit: offsetTop + height * 0.75\n });\n };\n var defineAction = function (coordinate) {\n if (!dropTarget) {\n return;\n }\n var location = coordinate.location;\n var className = listStyles.dropAdd;\n var command = 'add';\n var level = parseInt(dropTarget.attr(kendo.attr('level')), 10);\n var sibling;\n if (location <= dropTarget.beforeLimit) {\n sibling = dropTarget.prev();\n className = listStyles.dropTop;\n command = 'insert-before';\n } else if (location >= dropTarget.afterLimit) {\n sibling = dropTarget.next();\n className = listStyles.dropBottom;\n command = 'insert-after';\n }\n if (sibling && parseInt(sibling.attr(kendo.attr('level')), 10) === level) {\n className = listStyles.dropMiddle;\n }\n action.className = className;\n action.command = command;\n };\n var status = function () {\n return that._reorderDraggable.hint.children(DOT + listStyles.dragStatus).removeClass(listStyles.dropPositions);\n };\n if (!this.options.editable) {\n return;\n }\n this._reorderDraggable = this.content.kendoDraggable({\n distance: 10,\n holdToDrag: mobileOS,\n group: 'listGroup',\n filter: 'tr[data-uid]',\n ignore: DOT + listStyles.input,\n hint: function (target) {\n return $('
').css({\n width: 300,\n paddingLeft: target.css('paddingLeft'),\n paddingRight: target.css('paddingRight'),\n lineHeight: target.height() + 'px',\n paddingTop: target.css('paddingTop'),\n paddingBottom: target.css('paddingBottom')\n }).append('');\n },\n cursorOffset: {\n top: -20,\n left: 0\n },\n container: this.content,\n 'dragstart': function (e) {\n if (that.editable && that.editable.trigger('validate')) {\n e.preventDefault();\n return;\n }\n draggedTask = that._modelFromElement(e.currentTarget);\n this.hint.children(DOT + listStyles.dragClueText).text(draggedTask.get('title'));\n if (isRtl) {\n this.hint.addClass(listStyles.rtl);\n }\n },\n 'drag': function (e) {\n if (dropAllowed) {\n defineAction(e.y);\n status().addClass(action.className);\n }\n },\n 'dragend': function () {\n clear();\n },\n 'dragcancel': function () {\n clear();\n }\n }).data('kendoDraggable');\n this._tableDropArea = this.content.kendoDropTargetArea({\n distance: 0,\n group: 'listGroup',\n filter: 'tr[data-uid]',\n 'dragenter': function (e) {\n dropTarget = e.dropTarget;\n allowDrop(that._modelFromElement(dropTarget));\n defineLimits();\n status().toggleClass(listStyles.dropDenied, !dropAllowed);\n },\n 'dragleave': function () {\n dropAllowed = true;\n status();\n },\n 'drop': function () {\n var target = that._modelFromElement(dropTarget);\n var orderId = target.orderId;\n var taskInfo = { parentId: target.parentId };\n if (dropAllowed) {\n switch (action.command) {\n case 'add':\n taskInfo.parentId = target.id;\n break;\n case 'insert-before':\n if (target.parentId === draggedTask.parentId && target.orderId > draggedTask.orderId) {\n taskInfo.orderId = orderId - 1;\n } else {\n taskInfo.orderId = orderId;\n }\n break;\n case 'insert-after':\n if (target.parentId === draggedTask.parentId && target.orderId > draggedTask.orderId) {\n taskInfo.orderId = orderId;\n } else {\n taskInfo.orderId = orderId + 1;\n }\n break;\n }\n that.trigger('update', {\n task: draggedTask,\n updateInfo: taskInfo\n });\n }\n }\n }).data('kendoDropTargetArea');\n this._contentDropArea = this.element.kendoDropTargetArea({\n distance: 0,\n group: 'listGroup',\n filter: DOT + listStyles.gridContent,\n 'drop': function () {\n var target = that._modelFromElement(that.content.find(selector));\n var orderId = target.orderId;\n var taskInfo = {\n parentId: null,\n orderId: draggedTask.parentId !== null ? orderId + 1 : orderId\n };\n that.trigger('update', {\n task: draggedTask,\n updateInfo: taskInfo\n });\n }\n }).data('kendoDropTargetArea');\n },\n _resizable: function () {\n var that = this;\n var listStyles = GanttList.styles;\n var positionResizeHandle = function (e) {\n var th = $(e.currentTarget);\n var resizeHandle = that.resizeHandle;\n var position = th.position();\n var left = position.left;\n var cellWidth = th.outerWidth();\n var container = th.closest('div');\n var clientX = e.clientX + $(window).scrollLeft();\n var indicatorWidth = that.options.columnResizeHandleWidth;\n left += container.scrollLeft();\n if (!resizeHandle) {\n resizeHandle = that.resizeHandle = $('
');\n }\n var cellOffset = th.offset().left + cellWidth;\n var show = clientX > cellOffset - indicatorWidth && clientX < cellOffset + indicatorWidth;\n if (!show) {\n resizeHandle.hide();\n return;\n }\n container.append(resizeHandle);\n resizeHandle.show().css({\n top: position.top,\n left: left + cellWidth - indicatorWidth - 1,\n height: th.outerHeight(),\n width: indicatorWidth * 3\n }).data('th', th);\n };\n if (!this.options.resizable) {\n return;\n }\n if (this._columnResizable) {\n this._columnResizable.destroy();\n }\n this.header.find('thead').on('mousemove' + NS, 'th', positionResizeHandle);\n this._columnResizable = this.header.kendoResizable({\n handle: DOT + listStyles.resizeHandle,\n start: function (e) {\n var th = $(e.currentTarget).data('th');\n var colSelector = 'col:eq(' + th.index() + ')';\n var header = that.header.find('table');\n var contentTable = that.content.find('table');\n that.element.addClass('k-grid-column-resizing');\n this.col = contentTable.children('colgroup').find(colSelector).add(header.find(colSelector));\n this.th = th;\n this.startLocation = e.x.location;\n this.columnWidth = th.outerWidth();\n this.table = header.add(contentTable);\n this.totalWidth = this.table.width() - header.find('th:last').outerWidth();\n },\n resize: function (e) {\n var minColumnWidth = 11;\n var delta = e.x.location - this.startLocation;\n if (this.columnWidth + delta < minColumnWidth) {\n delta = minColumnWidth - this.columnWidth;\n }\n this.table.css({ 'minWidth': this.totalWidth + delta });\n this.col.width(this.columnWidth + delta);\n },\n resizeend: function () {\n that.element.removeClass('k-grid-column-resizing');\n var oldWidth = Math.floor(this.columnWidth);\n var newWidth = Math.floor(this.th.outerWidth());\n var column = that.columns[this.th.index()];\n that.trigger('columnResize', {\n column: column,\n oldWidth: oldWidth,\n newWidth: newWidth\n });\n this.table = this.col = this.th = null;\n }\n }).data('kendoResizable');\n },\n _modelFromElement: function (element) {\n var row = element.closest('tr');\n var model = this.dataSource.getByUid(row.attr(kendo.attr('uid')));\n return model;\n },\n _columnFromElement: function (element) {\n var td = element.closest('td');\n var tr = td.parent();\n var idx = tr.children().index(td);\n return this.columns[idx];\n }\n });\n extend(true, ui.GanttList, { styles: listStyles });\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"],"sourceRoot":"/source/"}