{"version":3,"file":"kendo.gantt.list.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendogantt","list","js","this","$","extend","map","isFunction","ui","TreeList","outerHeight","activeElement","mobileOS","DATATYPE","BINDING","FORMAT","STRING","defaultDateFormat","titleFromField","SIZE_CALCULATION_TEMPLATE","listStyles","GanttList","window","kendo","jQuery","_outerHeight","_activeElement","support","attr","getCulture","calendar","patterns","d","title","start","end","percentComplete","parentId","id","orderId","gridHeader","gridContentWrap","editCell","iconCollapse","iconExpand","init","element","options","columns","length","push","fn","call","_unbindDataSource","_setWidth","name","autoBind","sortable","selectable","_editCellEvent","_tabCycleStop","navigatable","editable","move","mode","resizable","renderAllRows","destroy","closeCell","isCancel","tr","model","that","cell","editor","_isIncellEditable","dataItem","_cancelEditor","removeClass","parent","editRow","lockedContent","_relatedRow","_render","trigger","item","data","ns","_adjustRowHeight","css","insertAfter","nodeData","referenceNode","taskInfo","task","updateInfo","insertBefore","_adjustHeight","height","contentWrap","find","header","scrollbar","_isHeightSet","_hasLockedColumns","table","offsetWidth","clientWidth","row1","row2","offsetHeight1","offsetHeight","offsetHeight2","style","el","initialHeight","newHeight","_attachCellEditingEventHandlers","update","touch","content","kendoTouch","filter","touchstart","e","_mouseDownHandler","doubletap","event","target","classList","contains","_openEditorHandler","_blurActiveElement","nodeName","toLowerCase","_columns","_hasExpandable","forEach","expandable","_eachColumn","bind","_columnEditor","column","field","required","_extractFormat","format","container","validation","fields","dateCompare","message","hide","appendTo","prependTo","kendoDateTimePicker","_columnFromElement","td","closest","idx","children","index","resourcesField","isSortable","hasNestedColumns","indexOf","template","value","get","formatedValue","i","join","_editCell","editedCell","modelCopy","dataSource","_createNewModel","toJSON","clearTimeout","_closeCellTimeout","_restorePageSizeAfterAddChild","_edit","editedColumn","editedColumnIndex","add","lockedTable","first","_createIncellEditor","change","values","preventDefault","_current","_modelFromElement","row","getByUid","currentTarget","hasClass","isLockedCell","multiple","has","tbody","is","_renderTree","taskTree","addClass","rowHeight","_rowHeight","tasks","applyStylesFromKendoAttributes","append","remove","_setData","listWidth","plugin"],"sources":["kendo.gantt.list.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.treelist.js'), require('kendo.treeview.draganddrop.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.treelist', 'kendo.treeview.draganddrop'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendogantt = global.kendogantt || {}, global.kendogantt.list = global.kendogantt.list || {}, global.kendogantt.list.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"gantt.list\",\n name: \"Gantt List\",\n category: \"web\",\n description: \"The Gantt List\",\n depends: [ \"treelist\", \"treeview.draganddrop\" ],\n hidden: true\n };\n\n (function($) {\n var extend = $.extend,\n map = $.map,\n isFunction = kendo.isFunction,\n\n ui = kendo.ui,\n TreeList = ui.TreeList,\n outerHeight = kendo._outerHeight,\n activeElement = kendo._activeElement,\n mobileOS = kendo.support.mobileOS,\n\n DATATYPE = kendo.attr(\"type\"),\n BINDING = kendo.attr(\"bind\"),\n FORMAT = kendo.attr(\"format\"),\n\n STRING = \"string\",\n BEFORE_EDIT = \"beforeEdit\",\n EDIT = \"edit\",\n SAVE = \"save\",\n RENDER = \"render\",\n DOT = \".\",\n\n defaultDateFormat = \"{0:\" + kendo.getCulture().calendar.patterns.d + \"}\",\n\n 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\n SIZE_CALCULATION_TEMPLATE = `` +\n \"\" +\n `` +\n \"\" +\n \"\" +\n \"\" +\n \"
 
\",\n\n listStyles = {\n gridHeader: \"k-grid-header\",\n gridContentWrap: \"k-grid-content\",\n editCell: \"k-edit-cell\",\n iconCollapse: \"caret-alt-down\",\n iconExpand: \"caret-alt-right\"\n };\n\n var GanttList = ui.GanttList = TreeList.extend({\n init: function(element, options) {\n if (this.options.columns.length === 0) {\n this.options.columns.push(\"title\");\n }\n\n TreeList.fn.init.call(this, element, options);\n\n this._unbindDataSource();\n this._setWidth();\n },\n\n options: {\n name: \"GanttList\",\n autoBind: false,\n sortable: true,\n selectable: true,\n _editCellEvent: \"dblclick\",\n _tabCycleStop: true,\n navigatable: false,\n editable: {\n move: true,\n mode: \"incell\"\n },\n resizable: false,\n renderAllRows: false\n },\n\n destroy: function() {\n TreeList.fn.destroy.call(this);\n kendo.destroy(this.element);\n },\n\n closeCell: function(isCancel) {\n var that = this;\n var cell = (that.editor || {}).element;\n var tr;\n var model;\n\n if (!cell || !cell[0] || !that._isIncellEditable()) {\n return;\n }\n\n model = that.dataItem(cell);\n that._cancelEditor();\n cell.removeClass(listStyles.editCell);\n tr = cell.parent().removeClass(listStyles.editRow);\n\n if (that.lockedContent) {\n that._relatedRow(tr).removeClass(listStyles.editRow);\n }\n\n if (isCancel) {\n that._render();\n }\n\n that.trigger(\"itemChange\", { item: tr, data: model, ns: ui });\n\n if (that.lockedContent) {\n that._adjustRowHeight(tr.css(\"height\", \"\")[0], that._relatedRow(tr).css(\"height\", \"\")[0]);\n }\n },\n\n insertAfter: function(nodeData, referenceNode) {\n if (!nodeData || !referenceNode) {\n return;\n }\n\n var orderId = referenceNode.orderId;\n var taskInfo = {\n parentId: referenceNode.parentId\n };\n\n if (referenceNode.parentId === nodeData.parentId && referenceNode.orderId > nodeData.orderId) {\n taskInfo.orderId = orderId;\n } else {\n taskInfo.orderId = orderId + 1;\n }\n\n this.trigger(\"reorder\", {\n task: nodeData,\n updateInfo: taskInfo\n });\n },\n\n insertBefore: function(nodeData, referenceNode) {\n if (!nodeData || !referenceNode) {\n return;\n }\n\n var orderId = referenceNode.orderId;\n var taskInfo = {\n parentId: referenceNode.parentId\n };\n\n if (referenceNode.parentId === nodeData.parentId &&\n referenceNode.orderId > nodeData.orderId) {\n taskInfo.orderId = orderId - 1;\n } else {\n taskInfo.orderId = orderId;\n }\n\n this.trigger(\"reorder\", {\n task: nodeData,\n updateInfo: taskInfo\n });\n },\n\n _adjustHeight: function() {\n var element = this.element;\n var contentWrap = element.find(DOT + listStyles.gridContentWrap);\n var header = element.find(DOT + listStyles.gridHeader);\n var height;\n var scrollbar = kendo.support.scrollbar();\n\n if (this._isHeightSet(element)) {\n height = element.height() - outerHeight(header);\n\n contentWrap.height(height);\n\n if (this._hasLockedColumns) {\n scrollbar = this.table[0].offsetWidth > this.table.parent()[0].clientWidth ? scrollbar : 0;\n this.lockedContent.height(height - scrollbar);\n }\n }\n },\n\n _adjustRowHeight: function(row1, row2) {\n var height;\n var offsetHeight1 = row1.offsetHeight;\n var offsetHeight2 = row2.offsetHeight;\n\n if (offsetHeight1 > offsetHeight2) {\n height = offsetHeight1 + \"px\";\n } else if (offsetHeight1 < offsetHeight2) {\n height = offsetHeight2 + \"px\";\n }\n\n if (height) {\n row1.style.height = row2.style.height = height;\n }\n },\n\n // identical code found in treelist, grid & scheduler :(\n _isHeightSet: function(el) {\n var initialHeight, newHeight;\n if (el[0].style.height) {\n return true;\n } else {\n initialHeight = el.height();\n }\n\n el.height(\"auto\");\n newHeight = el.height();\n el.height(\"\");\n\n return (initialHeight != newHeight);\n },\n\n _attachCellEditingEventHandlers: function() {\n var that = this,\n editable = that.options.editable;\n\n TreeList.fn._attachCellEditingEventHandlers.call(that);\n\n if (that._isIncellEditable() && editable.update !== false) {\n\n if (mobileOS) {\n that.touch = that.content\n .kendoTouch({\n filter: \"td\",\n touchstart: function(e) {\n that._mouseDownHandler(e.touch);\n },\n doubletap: function(e) {\n if (e.event.target.classList.contains(\"k-icon\") || e.event.target.classList.contains(\"k-svg-icon\")) {\n return;\n }\n that._openEditorHandler(e.touch);\n }\n }).data(\"kendoTouch\");\n }\n }\n },\n\n _blurActiveElement: function() {\n var activeElement = kendo._activeElement();\n\n if (activeElement && activeElement.nodeName.toLowerCase() !== \"body\") {\n $(activeElement).trigger(\"blur\");\n }\n },\n\n _columns: function() {\n var that = this,\n columns = this.options.columns;\n\n that._hasExpandable = false;\n\n columns.forEach(function(item) {\n if (item.expandable) {\n that._hasExpandable = true;\n }\n });\n\n that.columns = that.options.columns = map(columns, that._eachColumn.bind(that));\n\n TreeList.fn._columns.call(that);\n },\n\n _columnEditor: function(column) {\n var attr = {\n \"name\": column.field,\n \"required\": true\n };\n\n attr[BINDING] = \"value:\" + column.field;\n attr[DATATYPE] = \"date\";\n attr[FORMAT] = kendo._extractFormat(column.format);\n\n return function(container, options) {\n var model = options.model,\n field = model.fields[column.field] || model[column.field],\n validation = field.validation;\n\n if (validation && validation.dateCompare && isFunction(validation.dateCompare) && validation.message) {\n $('')\n .hide()\n .appendTo(container);\n\n attr[kendo.attr(\"dateCompare-msg\")] = validation.message;\n }\n\n $('')\n .attr(attr)\n .prependTo(container)\n .kendoDateTimePicker({ format: options.format });\n };\n },\n\n _columnFromElement: function(element) {\n var td = element.closest(\"td\"),\n tr = td.parent(),\n idx = tr.children().index(td);\n\n return this.columns[idx];\n },\n\n _eachColumn: function(column) {\n var that = this,\n resourcesField = that.options.resourcesField,\n isSortable = this.options.sortable;\n\n var model = function() {\n this.field = \"\";\n this.title = \"\";\n this.editable = function() { return false; };\n this.sortable = false;\n };\n\n var formatResources = function(task) {\n var value = task.get(resourcesField) || [],\n formatedValue = [];\n\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\n return formatedValue.join(\", \");\n };\n\n if (column.columns) {\n that.hasNestedColumns = true;\n column.columns = map(column.columns, this._eachColumn.bind(this));\n }\n\n if (typeof column === STRING) {\n column = {\n field: column,\n title: titleFromField[column]\n };\n }\n\n if (column.editable === true) {\n column.editable = function() {\n return true;\n };\n } else {\n column.editable = function() {\n return false;\n };\n }\n\n if (column.field === \"start\" || column.field === \"end\") {\n column.format = kendo.getCulture().calendar.patterns[column.format] || column.format || defaultDateFormat;\n\n if (!column.editor) {\n if (column.format === defaultDateFormat || column.format.toLowerCase().indexOf(\"h\") > -1) {\n column.editor = that._columnEditor(column);\n }\n }\n }\n if (column.field === resourcesField) {\n column.sortable = false;\n column.template = column.template || formatResources;\n }\n if (!that._hasExpandable && column.field === \"title\") {\n column.expandable = true;\n }\n\n if (isSortable && !column.sortable) {\n column.sortable = false;\n }\n\n return extend(new model(), column);\n },\n\n _editCell: function(cell, column, model) {\n var that = this,\n resourcesField = that.options.resourcesField,\n modelCopy = that.dataSource._createNewModel(model.toJSON()),\n editedCell;\n\n clearTimeout(that._closeCellTimeout);\n if (column.field === resourcesField) {\n column.editor(cell, modelCopy);\n return;\n } else {\n if (that.trigger(BEFORE_EDIT, { model: model, container: cell })) {\n that.dataSource._restorePageSizeAfterAddChild();\n return;\n }\n\n that.closeCell();\n\n model._edit = true;\n\n that._cancelEditor();\n\n that._render({\n editedColumn: column,\n editedColumnIndex: cell.index()\n });\n\n editedCell = that.table.add(that.lockedTable).find(DOT + listStyles.editCell).first();\n\n that.editor = that._createIncellEditor(editedCell, {\n columns: [column],\n model: model,\n change: function(e) {\n if (that.trigger(SAVE, { values: e.values, container: cell, model: model } )) {\n e.preventDefault();\n }\n }\n });\n\n // refresh the current element as the DOM element reference can be changed after render()\n that._current = editedCell;\n\n that.trigger(EDIT, { container: cell, model: model });\n }\n },\n\n _modelFromElement: function(element) {\n var row = element.closest(\"tr\"),\n model = this.dataSource.getByUid(row.attr(kendo.attr(\"uid\")));\n\n return model;\n },\n\n _mouseDownHandler: function(e) {\n var currentTarget = $(e.currentTarget);\n\n if (!currentTarget.hasClass(listStyles.editCell)) {\n this._blurActiveElement();\n }\n },\n\n _openEditorHandler: function(e) {\n var that = this,\n td = $(e.currentTarget),\n isLockedCell = that.lockedTable && td.closest(\"table\")[0] === that.lockedTable[0],\n selectable = that.selectable && that.selectable.options.multiple;\n\n if (td.hasClass(listStyles.editCell) ||\n td.has(\"a.k-grid-delete\").length ||\n td.has(\"button.k-grid-delete\").length ||\n (td.closest(\"tbody\")[0] !== that.tbody[0] && !isLockedCell) ||\n $(e.target).is(\":input\") ||\n $(e.target).is(`[class*=${listStyles.iconExpand}]`) ||\n $(e.target).is(`[class*=${listStyles.iconCollapse}]`)) {\n\n return;\n }\n\n if (that.editor) {\n if (that.editor.end()) {\n if (selectable) {\n $(activeElement()).trigger(\"blur\");\n }\n that.closeCell();\n that.editCell(td);\n }\n } else {\n that.editCell(td);\n }\n },\n\n _renderTree: function(taskTree) {\n TreeList.fn._render.call(this);\n\n if (this.hasNestedColumns) {\n this.element.addClass(\"k-gantt-treelist-nested-columns\");\n }\n\n if (taskTree && taskTree.length && !taskTree.editedColumn) {\n if (this.options.rowHeight) {\n this._rowHeight(taskTree);\n }\n\n this.trigger(RENDER);\n }\n\n this._adjustHeight();\n },\n\n _rowHeight: function(tasks) {\n var content = this.content,\n options = this.options,\n rowHeight = typeof options.rowHeight === STRING ? options.rowHeight : options.rowHeight + \"px\",\n table = $(kendo.format(SIZE_CALCULATION_TEMPLATE, rowHeight)),\n height;\n\n kendo.applyStylesFromKendoAttributes(table, [\"height\", \"visibility\"]);\n content.append(table);\n height = outerHeight(table.find(\"tr\"));\n table.remove();\n\n this.element.find('[role=\"treegrid\"]').css(\"height\", (tasks.length * height) + \"px\");\n },\n\n _setData: function(tasks) {\n this.dataSource.data(tasks);\n },\n\n _setWidth: function() {\n this.element.find(\".k-grid-header table\").css(\"minWidth\", this.options.listWidth);\n this.content.find(\"table\").css(\"minWidth\", this.options.listWidth);\n }\n });\n\n ui.plugin(GanttList);\n\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}