kendo.gantt.list.min.js
18.9 KB
/**
* Kendo UI v2016.1.112 (http://www.telerik.com/kendo-ui)
* Copyright 2016 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(e,define){define("kendo.gantt.list.min",["kendo.dom.min","kendo.touch.min","kendo.draganddrop.min","kendo.columnsorter.min","kendo.datetimepicker.min","kendo.editable.min"],e)}(function(){return function(e){function t(e){var t,i,n=[],r=e.className;for(t=0,i=e.level;i>t;t++)n.push(o("span",{className:r}));return n}function i(){var t=n._activeElement();"body"!==t.nodeName.toLowerCase()&&e(t).blur()}var n=window.kendo,r=n.dom,o=r.element,a=r.text,d=n.support.browser,s=n.support.mobileOS,l=n.ui,h=l.Widget,c=e.extend,u=e.map,p=e.isFunction,f=d.msie&&9>d.version,m=n.keys,g={title:"Title",start:"Start Time",end:"End Time",percentComplete:"% Done",parentId:"Predecessor ID",id:"ID",orderId:"Order ID"},v="string",b=".kendoGanttList",k="click",_=".",y="<table style='visibility: hidden;'><tbody><tr style='height:{0}'><td> </td></tr></tbody></table>",C={wrapper:"k-treelist k-grid k-widget",header:"k-header",alt:"k-alt",rtl:"k-rtl",editCell:"k-edit-cell",group:"k-treelist-group",gridHeader:"k-grid-header",gridHeaderWrap:"k-grid-header-wrap",gridContent:"k-grid-content",gridContentWrap:"k-grid-content",selected:"k-state-selected",icon:"k-icon",iconCollapse:"k-i-collapse",iconExpand:"k-i-expand",iconHidden:"k-i-none",iconPlaceHolder:"k-icon k-i-none",input:"k-input",link:"k-link",resizeHandle:"k-resize-handle",resizeHandleInner:"k-resize-handle-inner",dropPositions:"k-insert-top k-insert-bottom k-add k-insert-middle",dropTop:"k-insert-top",dropBottom:"k-insert-bottom",dropAdd:"k-add",dropMiddle:"k-insert-middle",dropDenied:"k-denied",dragStatus:"k-drag-status",dragClue:"k-drag-clue",dragClueText:"k-clue-text"},w=l.GanttList=h.extend({init:function(t,i){h.fn.init.call(this,t,i),0===this.options.columns.length&&this.options.columns.push("title"),this.dataSource=this.options.dataSource,this._columns(),this._layout(),this._domTrees(),this._header(),this._sortable(),this._editable(),this._selectable(),this._draggable(),this._resizable(),this._attachEvents(),this._adjustHeight(),this.bind("render",function(){var t,i;this.options.resizable&&(t=this.header.find("col"),i=this.content.find("col"),this.header.find("th").not(":last").each(function(n){var r=e(this).outerWidth();t.eq(n).width(r),i.eq(n).width(r)}),t.last().css("width","auto"),i.last().css("width","auto"))},!0)},_adjustHeight:function(){this.content.height(this.element.height()-this.header.parent().outerHeight())},destroy:function(){h.fn.destroy.call(this),this._reorderDraggable&&this._reorderDraggable.destroy(),this._tableDropArea&&this._tableDropArea.destroy(),this._contentDropArea&&this._contentDropArea.destroy(),this._columnResizable&&this._columnResizable.destroy(),this.touch&&this.touch.destroy(),this.timer&&clearTimeout(this.timer),this.content.off(b),this.header.find("thead").off(b),this.header.find(_+w.link).off(b),this.header=null,this.content=null,this.levels=null,n.destroy(this.element)},options:{name:"GanttList",selectable:!0,editable:!0,resizable:!1},_attachEvents:function(){var t=this,i=w.styles;t.content.on(k+b,"td > span."+i.icon+":not(."+i.iconHidden+")",function(i){var n=e(this),r=t._modelFromElement(n);r.set("expanded",!r.get("expanded")),i.stopPropagation()})},_domTrees:function(){this.headerTree=new r.Tree(this.header[0]),this.contentTree=new r.Tree(this.content[0])},_columns:function(){var e=this.options.columns,t=function(){this.field="",this.title="",this.editable=!1,this.sortable=!1};this.columns=u(e,function(e){return e=typeof e===v?{field:e,title:g[e]}:e,c(new t,e)})},_layout:function(){var t=this,i=this.options,r=this.element,o=w.styles,a=function(){var r,o=typeof i.rowHeight===v?i.rowHeight:i.rowHeight+"px",a=e(n.format(y,o));return t.content.append(a),r=a.find("tr").outerHeight(),a.remove(),r};r.addClass(o.wrapper).append("<div class='"+o.gridHeader+"'><div class='"+o.gridHeaderWrap+"'></div></div>").append("<div class='"+o.gridContentWrap+"'></div>"),this.header=r.find(_+o.gridHeaderWrap),this.content=r.find(_+o.gridContent),i.rowHeight&&(this._rowHeight=a())},_header:function(){var e=this.headerTree,t=o("colgroup",null,this._cols()),i=o("thead",{role:"rowgroup"},[o("tr",{role:"row"},this._ths())]),n=o("table",{style:{minWidth:this.options.listWidth+"px"},role:"grid"},[t,i]);e.render([n])},_render:function(e){var t,i,n,r={style:{minWidth:this.options.listWidth+"px"},tabIndex:0,role:"treegrid"};this._rowHeight&&(r.style.height=e.length*this._rowHeight+"px"),this.levels=[{field:null,value:0}],t=o("colgroup",null,this._cols()),i=o("tbody",{role:"rowgroup"},this._trs(e)),n=o("table",r,[t,i]),this.contentTree.render([n]),this.trigger("render")},_ths:function(){var e,t,i,n,r=this.columns,d=[];for(i=0,n=r.length;n>i;i++)e=r[i],t={"data-field":e.field,"data-title":e.title,className:w.styles.header,role:"columnheader"},d.push(o("th",t,[a(e.title)]));return this.options.resizable&&d.push(o("th",{className:w.styles.header,role:"columnheader"})),d},_cols:function(){var e,t,i,n,r,a=this.columns,d=[];for(n=0,r=a.length;r>n;n++)e=a[n],i=e.width,t=i&&0!==parseInt(i,10)?{style:{width:typeof i===v?i:i+"px"}}:null,d.push(o("col",t,[]));return this.options.resizable&&d.push(o("col",{style:{width:"1px"}})),d},_trs:function(e){var t,i,n,r,o,a=[],d=[],s=w.styles;for(r=0,o=e.length;o>r;r++)t=e[r],n=this._levels({idx:t.parentId,id:t.id,summary:t.summary}),i={"data-uid":t.uid,"data-level":n,role:"row"},t.summary&&(i["aria-expanded"]=t.expanded),r%2!==0&&d.push(s.alt),t.summary&&d.push(s.group),d.length&&(i.className=d.join(" ")),a.push(this._tds({task:t,attr:i,level:n})),d=[];return a},_tds:function(e){var t,i,n,r=[],a=this.columns;for(i=0,n=a.length;n>i;i++)t=a[i],r.push(this._td({task:e.task,column:t,level:e.level}));return this.options.resizable&&r.push(o("td",{role:"gridcell"})),o("tr",e.attr,r)},_td:function(e){var i,r,d,s=[],l=this.options.resourcesField,h=w.styles,c=e.task,u=e.column,p=c.get(u.field);if(u.field==l){for(p=p||[],i=[],d=0;p.length>d;d++)i.push(n.format("{0} [{1}]",p[d].get("name"),p[d].get("formatedValue")));i=i.join(", ")}else i=u.format?n.format(u.format,p):p;return"title"===u.field&&(s=t({level:e.level,className:h.iconPlaceHolder}),s.push(o("span",{className:h.icon+" "+(c.summary?c.expanded?h.iconCollapse:h.iconExpand:h.iconHidden)})),r=n.format("{0}, {1:P0}",i,c.percentComplete)),s.push(o("span",{"aria-label":r},[a(i)])),o("td",{role:"gridcell"},s)},_levels:function(e){var t,i,n,r=this.levels,o=e.summary,a=e.idx,d=e.id;for(i=0,n=r.length;n>i;i++)if(t=r[i],t.field==a)return o&&r.push({field:d,value:t.value+1}),t.value},_sortable:function(){var e,t,i,r,o,a=this,d=this.options.resourcesField,s=this.columns,l=this.header.find("th["+n.attr("field")+"]"),h=function(e){a.editable&&a.editable.trigger("validate")&&(e.preventDefault(),e.stopImmediatePropagation())};for(r=0,o=l.length;o>r;r++)e=s[r],e.sortable&&e.field!==d&&(i=l.eq(r),t=i.data("kendoColumnSorter"),t&&t.destroy(),i.attr("data-"+n.ns+"field",e.field).kendoColumnSorter({dataSource:this.dataSource}).find(_+w.link).on("click"+b,h));l=null},_selectable:function(){var t=this,i=this.options.selectable;i&&this.content.on(k+b,"tr",function(i){var n=e(this);t.editable&&t.editable.trigger("validate"),i.ctrlKey?t.clearSelection():t.select(n)})},select:function(e){var t=this.content.find(e),i=w.styles.selected;return t.length?(t.siblings(_+i).removeClass(i).attr("aria-selected",!1).end().addClass(i).attr("aria-selected",!0),void this.trigger("change")):this.content.find(_+i)},clearSelection:function(){var e=this.select();e.length&&(e.removeClass(w.styles.selected),this.trigger("change"))},_setDataSource:function(e){this.dataSource=e},_editable:function(){var t=this,n=w.styles,r="span."+n.icon+":not("+n.iconHidden+")",o=function(){var e=t.editable;e&&(e.end()?t._closeCell():e.trigger("validate"))},a=function(t){var r=e(t.currentTarget);r.hasClass(n.editCell)||i()};this.options.editable&&(this._startEditHandler=function(i){var n=i.currentTarget?e(i.currentTarget):i,r=t._columnFromElement(n);t.editable||r&&r.editable&&t._editCell({cell:n,column:r})},t.content.on("focusin"+b,function(){clearTimeout(t.timer),t.timer=null}).on("focusout"+b,function(){t.timer=setTimeout(o,1)}).on("keydown"+b,function(e){e.keyCode===m.ENTER&&e.preventDefault()}).on("keyup"+b,function(e){var n,r,a=e.keyCode;switch(a){case m.ENTER:i(),o();break;case m.ESC:t.editable&&(n=t._editableContainer,r=t._modelFromElement(n),t.trigger("cancel",{model:r,cell:n})||t._closeCell(!0))}}),s?t.touch=t.content.kendoTouch({filter:"td",touchstart:function(e){a(e.touch)},doubletap:function(i){e(i.touch.initialTouch).is(r)||t._startEditHandler(i.touch)}}).data("kendoTouch"):t.content.on("mousedown"+b,"td",function(e){a(e)}).on("dblclick"+b,"td",function(i){e(i.target).is(r)||t._startEditHandler(i)}))},_editCell:function(t){var i,r=this.options.resourcesField,o=w.styles,a=t.cell,d=t.column,s=this._modelFromElement(a),l=this.dataSource._createNewModel(s.toJSON()),h=l.fields[d.field]||l[d.field],c=h.validation,u=n.attr("type"),m=n.attr("bind"),g=n.attr("format"),v={name:d.field,required:h.validation?h.validation.required===!0:!1};return d.field===r?void d.editor(a,l):(this._editableContent=a.children().detach(),this._editableContainer=a,a.data("modelCopy",l),"date"!==h.type&&"date"!==e.type(h)||d.format&&!/H|m|s|F|g|u/.test(d.format)||(v[m]="value:"+d.field,v[u]="date",d.format&&(v[g]=n._extractFormat(d.format)),i=function(t,i){e('<input type="text"/>').attr(v).appendTo(t).kendoDateTimePicker({format:i.format})}),this.editable=a.addClass(o.editCell).kendoEditable({fields:{field:d.field,format:d.format,editor:d.editor||i},model:l,clearContainer:!1}).data("kendoEditable"),c&&c.dateCompare&&p(c.dateCompare)&&c.message&&(e("<span "+n.attr("for")+'="'+d.field+'" class="k-invalid-msg"/>').hide().appendTo(a),a.find("[name="+d.field+"]").attr(n.attr("dateCompare-msg"),c.message)),this.trigger("edit",{model:s,cell:a})&&this._closeCell(!0),void this.editable.bind("validate",function(e){var t=this.element.find(":kendoFocusable:first").focus();f&&t.focus(),e.preventDefault()}))},_closeCell:function(e){var t=w.styles,i=this._editableContainer,n=this._modelFromElement(i),r=this._columnFromElement(i),o=r.field,a=i.data("modelCopy"),d={};d[o]=a.get(o),i.empty().removeData("modelCopy").removeClass(t.editCell).append(this._editableContent),this.editable.unbind(),this.editable.destroy(),this.editable=null,this._editableContainer=null,this._editableContent=null,e||("start"===o&&(d.end=new Date(d.start.getTime()+n.duration())),this.trigger("update",{task:n,updateInfo:d}))},_draggable:function(){var t,i=this,r=null,o=!0,a=w.styles,d=n.support.isRtl(this.element),l="tr["+n.attr("level")+" = 0]:last",h={},u=function(){r=null,t=null,o=!0,h={}},p=function(e){for(var t=e;t;){if(r.get("id")===t.get("id")){o=!1;break}t=i.dataSource.taskParent(t)}},f=function(){var i=e(t).height(),r=n.getOffset(t).top;c(t,{beforeLimit:r+.25*i,afterLimit:r+.75*i})},m=function(e){var i,r=e.location,o=a.dropAdd,d="add",s=parseInt(t.attr(n.attr("level")),10);t.beforeLimit>=r?(i=t.prev(),o=a.dropTop,d="insert-before"):r>=t.afterLimit&&(i=t.next(),o=a.dropBottom,d="insert-after"),i&&parseInt(i.attr(n.attr("level")),10)===s&&(o=a.dropMiddle),h.className=o,h.command=d},g=function(){return i._reorderDraggable.hint.children(_+a.dragStatus).removeClass(a.dropPositions)};this.options.editable&&(this._reorderDraggable=this.content.kendoDraggable({distance:10,holdToDrag:s,group:"listGroup",filter:"tr[data-uid]",ignore:_+a.input,hint:function(t){return e('<div class="'+a.header+" "+a.dragClue+'"/>').css({width:300,paddingLeft:t.css("paddingLeft"),paddingRight:t.css("paddingRight"),lineHeight:t.height()+"px",paddingTop:t.css("paddingTop"),paddingBottom:t.css("paddingBottom")}).append('<span class="'+a.icon+" "+a.dragStatus+'" /><span class="'+a.dragClueText+'"/>')},cursorOffset:{top:-20,left:0},container:this.content,dragstart:function(e){return i.editable&&i.editable.trigger("validate")?void e.preventDefault():(r=i._modelFromElement(e.currentTarget),this.hint.children(_+a.dragClueText).text(r.get("title")),void(d&&this.hint.addClass(a.rtl)))},drag:function(e){o&&(m(e.y),g().addClass(h.className))},dragend:function(){u()},dragcancel:function(){u()}}).data("kendoDraggable"),this._tableDropArea=this.content.kendoDropTargetArea({distance:0,group:"listGroup",filter:"tr[data-uid]",dragenter:function(e){t=e.dropTarget,p(i._modelFromElement(t)),f(),g().toggleClass(a.dropDenied,!o)},dragleave:function(){o=!0,g()},drop:function(){var e=i._modelFromElement(t),n=e.orderId,a={parentId:e.parentId};if(o){switch(h.command){case"add":a.parentId=e.id;break;case"insert-before":a.orderId=e.parentId===r.parentId&&e.orderId>r.orderId?n-1:n;break;case"insert-after":a.orderId=e.parentId===r.parentId&&e.orderId>r.orderId?n:n+1}i.trigger("update",{task:r,updateInfo:a})}}}).data("kendoDropTargetArea"),this._contentDropArea=this.element.kendoDropTargetArea({distance:0,group:"listGroup",filter:_+a.gridContent,drop:function(){var e=i._modelFromElement(i.content.find(l)),t=e.orderId,n={parentId:null,orderId:null!==r.parentId?t+1:t};i.trigger("update",{task:r,updateInfo:n})}}).data("kendoDropTargetArea"))},_resizable:function(){var t=this,i=w.styles,n=function(n){var r,o,a=e(n.currentTarget),d=t.resizeHandle,s=a.position(),l=s.left,h=a.outerWidth(),c=a.closest("div"),u=n.clientX+e(window).scrollLeft(),p=t.options.columnResizeHandleWidth;return l+=c.scrollLeft(),d||(d=t.resizeHandle=e('<div class="'+i.resizeHandle+'"><div class="'+i.resizeHandleInner+'" /></div>')),r=a.offset().left+h,(o=u>r-p&&r+p>u)?(c.append(d),void d.show().css({top:s.top,left:l+h-p-1,height:a.outerHeight(),width:3*p}).data("th",a)):void d.hide()};this.options.resizable&&(this._columnResizable&&this._columnResizable.destroy(),this.header.find("thead").on("mousemove"+b,"th",n),this._columnResizable=this.header.kendoResizable({handle:_+i.resizeHandle,start:function(i){var n=e(i.currentTarget).data("th"),r="col:eq("+n.index()+")",o=t.header.find("table"),a=t.content.find("table");t.element.addClass("k-grid-column-resizing"),this.col=a.children("colgroup").find(r).add(o.find(r)),this.th=n,this.startLocation=i.x.location,this.columnWidth=n.outerWidth(),this.table=o.add(a),this.totalWidth=this.table.width()-o.find("th:last").outerWidth()},resize:function(e){var t=11,i=e.x.location-this.startLocation;t>this.columnWidth+i&&(i=t-this.columnWidth),this.table.css({minWidth:this.totalWidth+i}),this.col.width(this.columnWidth+i)},resizeend:function(){var e,i,n;t.element.removeClass("k-grid-column-resizing"),e=Math.floor(this.columnWidth),i=Math.floor(this.th.outerWidth()),n=t.columns[this.th.index()],t.trigger("columnResize",{column:n,oldWidth:e,newWidth:i}),this.table=this.col=this.th=null}}).data("kendoResizable"))},_modelFromElement:function(e){var t=e.closest("tr"),i=this.dataSource.getByUid(t.attr(n.attr("uid")));return i},_columnFromElement:function(e){var t=e.closest("td"),i=t.parent(),n=i.children().index(t);return this.columns[n]}});c(!0,l.GanttList,{styles:C})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,i){(i||t)()});
//# sourceMappingURL=kendo.gantt.list.min.js.map