@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 7.62 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.treelist.js"),require("kendo.treeview.draganddrop.js")):"function"==typeof define&&define.amd?define(["exports","kendo.treelist","kendo.treeview.draganddrop"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.GanttList={}))}(this,(function(e){var t,n,i,o,r,d,a,l,s,c,h,u,f,g,m,p,b,_;t=window.kendo.jQuery,n=t.extend,i=t.map,o=kendo.isFunction,r=kendo.ui,d=r.TreeList,a=kendo._outerHeight,l=kendo._activeElement,s=kendo.support.mobileOS,c=kendo.attr("type"),h=kendo.attr("bind"),u=kendo.attr("format"),f="string",g="{0:"+kendo.getCulture().calendar.patterns.d+"}",m={title:"Title",start:"Start Time",end:"End Time",percentComplete:"% Done",parentId:"Predecessor ID",id:"ID",orderId:"Order ID"},p=`<table ${kendo.attr("style-visibility")}="hidden"><tbody><tr ${kendo.attr("style-height")}="{0}"><td> </td></tr></tbody></table>`,b={gridHeader:"k-grid-header",gridContentWrap:"k-grid-content",editCell:"k-edit-cell",iconCollapse:"caret-alt-down",iconExpand:"caret-alt-right"},_=r.GanttList=d.extend({init:function(e,t){0===this.options.columns.length&&this.options.columns.push("title"),d.fn.init.call(this,e,t),this._unbindDataSource(),this._setWidth()},options:{name:"GanttList",autoBind:!1,sortable:!0,selectable:!0,_editCellEvent:"dblclick",_tabCycleStop:!0,navigatable:!1,editable:{move:!0,mode:"incell"},resizable:!1,renderAllRows:!1},destroy:function(){d.fn.destroy.call(this),kendo.destroy(this.element)},closeCell:function(e){var t,n,i=this,o=(i.editor||{}).element;o&&o[0]&&i._isIncellEditable()&&(n=i.dataItem(o),i._cancelEditor(),o.removeClass(b.editCell),t=o.parent().removeClass(b.editRow),i.lockedContent&&i._relatedRow(t).removeClass(b.editRow),e&&i._render(),i.trigger("itemChange",{item:t,data:n,ns:r}),i.lockedContent&&i._adjustRowHeight(t.css("height","")[0],i._relatedRow(t).css("height","")[0]))},insertAfter:function(e,t){if(e&&t){var n=t.orderId,i={parentId:t.parentId};t.parentId===e.parentId&&t.orderId>e.orderId?i.orderId=n:i.orderId=n+1,this.trigger("reorder",{task:e,updateInfo:i})}},insertBefore:function(e,t){if(e&&t){var n=t.orderId,i={parentId:t.parentId};t.parentId===e.parentId&&t.orderId>e.orderId?i.orderId=n-1:i.orderId=n,this.trigger("reorder",{task:e,updateInfo:i})}},_adjustHeight:function(){var e,t=this.element,n=t.find("."+b.gridContentWrap),i=t.find("."+b.gridHeader),o=kendo.support.scrollbar();this._isHeightSet(t)&&(e=t.height()-a(i),n.height(e),this._hasLockedColumns&&(o=this.table[0].offsetWidth>this.table.parent()[0].clientWidth?o:0,this.lockedContent.height(e-o)))},_adjustRowHeight:function(e,t){var n,i=e.offsetHeight,o=t.offsetHeight;i>o?n=i+"px":i<o&&(n=o+"px"),n&&(e.style.height=t.style.height=n)},_isHeightSet:function(e){var t,n;return!!e[0].style.height||(t=e.height(),e.height("auto"),n=e.height(),e.height(""),t!=n)},_attachCellEditingEventHandlers:function(){var e=this,t=e.options.editable;d.fn._attachCellEditingEventHandlers.call(e),e._isIncellEditable()&&!1!==t.update&&s&&(e.touch=e.content.kendoTouch({filter:"td",touchstart:function(t){e._mouseDownHandler(t.touch)},doubletap:function(t){t.event.target.classList.contains("k-icon")||t.event.target.classList.contains("k-svg-icon")||e._openEditorHandler(t.touch)}}).data("kendoTouch"))},_blurActiveElement:function(){var e=kendo._activeElement();e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},_columns:function(){var e=this,t=this.options.columns;e._hasExpandable=!1,t.forEach((function(t){t.expandable&&(e._hasExpandable=!0)})),e.columns=e.options.columns=i(t,e._eachColumn.bind(e)),d.fn._columns.call(e)},_columnEditor:function(e){var n={name:e.field,required:!0};return n[h]="value:"+e.field,n[c]="date",n[u]=kendo._extractFormat(e.format),function(i,r){var d=r.model,a=(d.fields[e.field]||d[e.field]).validation;a&&a.dateCompare&&o(a.dateCompare)&&a.message&&(t("<span "+kendo.attr("for")+'="'+e.field+'" class="k-invalid-msg"/>').hide().appendTo(i),n[kendo.attr("dateCompare-msg")]=a.message),t('<input type="text"/>').attr(n).prependTo(i).kendoDateTimePicker({format:r.format})}},_columnFromElement:function(e){var t=e.closest("td"),n=t.parent().children().index(t);return this.columns[n]},_eachColumn:function(e){var t=this,o=t.options.resourcesField,r=this.options.sortable;return e.columns&&(t.hasNestedColumns=!0,e.columns=i(e.columns,this._eachColumn.bind(this))),typeof e===f&&(e={field:e,title:m[e]}),!0===e.editable?e.editable=function(){return!0}:e.editable=function(){return!1},"start"!==e.field&&"end"!==e.field||(e.format=kendo.getCulture().calendar.patterns[e.format]||e.format||g,e.editor||(e.format===g||e.format.toLowerCase().indexOf("h")>-1)&&(e.editor=t._columnEditor(e))),e.field===o&&(e.sortable=!1,e.template=e.template||function(e){for(var t=e.get(o)||[],n=[],i=0;i<t.length;i++)n.push(kendo.format("{0} [{1}]",t[i].get("name"),t[i].get("formatedValue")));return n.join(", ")}),t._hasExpandable||"title"!==e.field||(e.expandable=!0),r&&!e.sortable&&(e.sortable=!1),n(new function(){this.field="",this.title="",this.editable=function(){return!1},this.sortable=!1},e)},_editCell:function(e,t,n){var i,o=this,r=o.options.resourcesField,d=o.dataSource._createNewModel(n.toJSON());clearTimeout(o._closeCellTimeout),t.field!==r?o.trigger("beforeEdit",{model:n,container:e})?o.dataSource._restorePageSizeAfterAddChild():(o.closeCell(),n._edit=!0,o._cancelEditor(),o._render({editedColumn:t,editedColumnIndex:e.index()}),i=o.table.add(o.lockedTable).find("."+b.editCell).first(),o.editor=o._createIncellEditor(i,{columns:[t],model:n,change:function(t){o.trigger("save",{values:t.values,container:e,model:n})&&t.preventDefault()}}),o._current=i,o.trigger("edit",{container:e,model:n})):t.editor(e,d)},_modelFromElement:function(e){var t=e.closest("tr");return this.dataSource.getByUid(t.attr(kendo.attr("uid")))},_mouseDownHandler:function(e){t(e.currentTarget).hasClass(b.editCell)||this._blurActiveElement()},_openEditorHandler:function(e){var n=this,i=t(e.currentTarget),o=n.lockedTable&&i.closest("table")[0]===n.lockedTable[0],r=n.selectable&&n.selectable.options.multiple;i.hasClass(b.editCell)||i.has("a.k-grid-delete").length||i.has("button.k-grid-delete").length||i.closest("tbody")[0]!==n.tbody[0]&&!o||t(e.target).is(":input")||t(e.target).is(`[class*=${b.iconExpand}]`)||t(e.target).is(`[class*=${b.iconCollapse}]`)||(n.editor?n.editor.end()&&(r&&t(l()).trigger("blur"),n.closeCell(),n.editCell(i)):n.editCell(i))},_renderTree:function(e){d.fn._render.call(this),this.hasNestedColumns&&this.element.addClass("k-gantt-treelist-nested-columns"),e&&e.length&&!e.editedColumn&&(this.options.rowHeight&&this._rowHeight(e),this.trigger("render")),this._adjustHeight()},_rowHeight:function(e){var n,i=this.content,o=this.options,r=typeof o.rowHeight===f?o.rowHeight:o.rowHeight+"px",d=t(kendo.format(p,r));kendo.applyStylesFromKendoAttributes(d,["height","visibility"]),i.append(d),n=a(d.find("tr")),d.remove(),this.element.find('[role="treegrid"]').css("height",e.length*n+"px")},_setData:function(e){this.dataSource.data(e)},_setWidth:function(){this.element.find(".k-grid-header table").css("minWidth",this.options.listWidth),this.content.find("table").css("minWidth",this.options.listWidth)}}),r.plugin(_);var k=kendo;e.__meta__={id:"gantt.list",name:"Gantt List",category:"web",description:"The Gantt List",depends:["treelist","treeview.draganddrop"],hidden:!0},e.default=k,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.gantt.list.min.js.map