Files
jube-fork/Jube.App/wwwroot/kendo/js/kendo.gantt.data.min.js
2022-11-04 13:24:24 +02:00

27 lines
12 KiB
JavaScript
Executable File

/**
* Kendo UI v2021.1.224 (http://www.telerik.com/kendo-ui)
* Copyright 2021 Progress Software Corporation and/or one of its subsidiaries or affiliates. 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.data.min",["kendo.data.min","kendo.treelist.min"],e)}(function(){return function(e,t){var n,a,r=e.isArray,i=e.extend,d=e.map,s=kendo.data,l=s.Query,u=s.DataSource,o=s.TreeListDataSource,c=s.TreeListModel,h="parentId",f=function(e,t){return function(n){var a,i;if(n=r(n)?{data:n}:n,a=n||{},i=a.data,a.data=i,!(a instanceof e)&&a instanceof u)throw Error("Incorrect DataSource type. Only "+t+" instances are supported");return a instanceof e?a:new e(a)}},p=function(e){if(e.filter("[name=end], [name=start], [name=plannedEnd], [name=plannedStart]").length){for(var t,n,a=e.attr("name"),r=kendo.widgetInstance(e,kendo.ui),i={},d=e;d!==window&&!t;)d=d.parent(),t=d.data("kendoEditable");return!(n=t?t.options.model:null)||(a.indexOf("planned")>=0?(i.plannedStart=n.plannedStart,i.plannedEnd=n.plannedEnd):(i.start=n.start,i.end=n.end),i[a]=r?r.value():kendo.parseDate(e.val()),a.indexOf("planned")>=0?i.plannedStart<=i.plannedEnd:i.start<=i.end)}return!0},m=kendo.data.Model.define({id:"id",fields:{id:{type:"number",editable:!1},predecessorId:{type:"number"},successorId:{type:"number"},type:{type:"number"}}}),v=u.extend({init:function(e){u.fn.init.call(this,i(!0,{},{schema:{modelBase:m,model:m}},e))},dependencies:function(e){var t=this.predecessors(e),n=this.successors(e);return t.push.apply(t,n),t},predecessors:function(e){return this._dependencies("successorId",e)},successors:function(e){return this._dependencies("predecessorId",e)},_dependencies:function(e,t){var n=this.view(),a={field:e,operator:"eq",value:t};return n=new l(n).filter(a).toArray()}});v.create=f(v,"GanttDependencyDataSource"),n=c.define({fields:{id:{type:"number",editable:!1},parentId:{type:"number",defaultValue:null,validation:{required:!0},nullable:!0},orderId:{type:"number",validation:{required:!0}},title:{type:"string",defaultValue:"New task"},start:{type:"date",validation:{required:!0}},end:{type:"date",validation:{required:!0,dateCompare:p,message:"End date should be after or equal to the start date"}},percentComplete:{type:"number",validation:{required:!0,min:0,max:1,step:.01}},summary:{type:"boolean"},expanded:{type:"boolean",defaultValue:!0},plannedStart:{type:"date",defaultValue:null,nullable:!0},plannedEnd:{type:"date",defaultValue:null,nullable:!0,validation:{dateCompare:p,message:"Planned end date should be after or equal to the planned start date"}}},duration:function(){var e=this.end,t=this.start;return e-t},plannedDuration:function(){var e=this.plannedEnd,t=this.plannedStart;return e&&t?e-t:0},isMilestone:function(){return 0===this.duration()},_offset:function(e){var t,n,a=["start","end"];for(n=0;n<a.length;n++)t=new Date(this.get(a[n]).getTime()+e),this.set(a[n],t)},_offsetPlanned:function(e){var t,n,a=["plannedStart","plannedEnd"];for(n=0;n<a.length;n++)t=new Date(this.get(a[n]).getTime()+e),this.set(a[n],t)}}),n.define=function(e,a){var r,i;return a===t&&(a=e,e=n),r=a.parentId||h,a.parentIdField=r,i=c.define(e,a),r&&(i.parentIdField=r),i},a=o.extend({init:function(e){o.fn.init.call(this,i(!0,{},{schema:{modelBase:n,model:n},sort:{field:"orderId",dir:"asc"}},e))},add:function(e){if(e)return e=this._toGanttTask(e),this.insert(this.taskSiblings(e).length,e)},insert:function(e,t){if(t)return t=this._toGanttTask(t),t.set("orderId",e),t=u.fn.insert.call(this,e,t),this._reorderSiblings(t,this.taskSiblings(t).length-1),this._resolveSummaryFields(this.taskParent(t)),t},remove:function(e){var t=e.get("parentId"),n=this.taskAllChildren(e);return this._removeItems(n),e=o.fn.remove.call(this,e),this._childRemoved(t,e.get("orderId")),e},taskAllChildren:function(e){var t=[],n=this,a=function(e){var r=n.taskChildren(e);t.push.apply(t,r),d(r,a)};return e?a(e):t=this.view(),t},taskChildren:function(e){var n,a=this.view(),r={field:"parentId",operator:"eq",value:null},i=this._sort&&this._sort.length?this._sort:{field:"orderId",dir:"asc"};if(e){if(n=e.get("id"),n===t||null===n||""===n)return[];r.value=n}return a=new l(a).filter(r).sort(i).toArray()},taskLevel:function(e){for(var t=0,n=this.taskParent(e);null!==n;)t+=1,n=this.taskParent(n);return t},taskParent:function(e){return e&&null!==e.get("parentId")?this.get(e.parentId):null},taskSiblings:function(e){if(!e)return null;var t=this.taskParent(e);return this.taskChildren(t)},taskTree:function(e){var t,n,a,r,i=[],d=this.taskChildren(e);for(n=0,a=d.length;n<a;n++)t=d[n],i.push(t),t.get("expanded")&&(r=this.taskTree(t),i.push.apply(i,r));return i},update:function(e,n){var a,r,i=this,d=function(e,t){var n,a,r=i.taskAllChildren(e);for(n=0,a=r.length;n<a;n++)r[n]._offset(t)},s=function(e,t){var n,a,r=i.taskAllChildren(e);for(n=0,a=r.length;n<a;n++)r[n]._offsetPlanned(t)},l=function(e){var t=e.field,n=e.sender;switch(t){case"start":i._resolveSummaryStart(i.taskParent(n)),d(n,n.get(t).getTime()-a.getTime());break;case"end":i._resolveSummaryEnd(i.taskParent(n));break;case"plannedStart":i._resolveSummaryPlannedStart(i.taskParent(n)),n.get(t)&&a&&s(n,n.get(t).getTime()-a.getTime());break;case"plannedEnd":i._resolveSummaryPlannedEnd(i.taskParent(n));break;case"percentComplete":i._resolveSummaryPercentComplete(i.taskParent(n));break;case"orderId":i._reorderSiblings(n,a)}};n.parentId!==t&&(a=e.get("parentId"),a!==n.parentId&&(e.set("parentId",n.parentId),i._childRemoved(a,e.get("orderId")),e.set("orderId",i.taskSiblings(e).length-1),i._resolveSummaryFields(i.taskParent(e))),delete n.parentId),e.bind("change",l),e.bind("equalSet",l);for(r in n)a=e.get(r),"plannedStart"===r||"plannedEnd"===r?a===t&&null===n[r]||e.set(r,n[r]):e.set(r,n[r]);e.unbind("change",l),e.unbind("equalSet",l)},_childRemoved:function(e,t){var n,a,r=null===e?null:this.get(e),i=this.taskChildren(r);for(n=t,a=i.length;n<a;n++)i[n].set("orderId",n);this._resolveSummaryFields(r)},_resolveSummaryFields:function(e){e&&(this._updateSummary(e),this.taskChildren(e).length&&(this._resolveSummaryStart(e),this._resolveSummaryEnd(e),this._resolveSummaryPlannedStart(e),this._resolveSummaryPlannedEnd(e),this._resolveSummaryPercentComplete(e)))},_resolveSummaryStart:function(e){var t=this,n=function(e){var n,a,r,i=t.taskChildren(e),d=i[0].start.getTime();for(a=1,r=i.length;a<r;a++)n=i[a].start.getTime(),n<d&&(d=n);return new Date(d)};this._updateSummaryRecursive(e,"start",n)},_resolveSummaryEnd:function(e){var t=this,n=function(e){var n,a,r,i=t.taskChildren(e),d=i[0].end.getTime();for(a=1,r=i.length;a<r;a++)n=i[a].end.getTime(),n>d&&(d=n);return new Date(d)};this._updateSummaryRecursive(e,"end",n)},_resolveSummaryPlannedStart:function(e){var t=this,n=function(e){var n,a,r,i=t.taskChildren(e),d=null;for(a=0,r=i.length;a<r;a++)i[a].plannedStart&&(n=i[a].plannedStart.getTime(),(!d||n<d)&&(d=n));return d?new Date(d):null};this._updateSummaryRecursive(e,"plannedStart",n)},_resolveSummaryPlannedEnd:function(e){var t=this,n=function(e){var n,a,r,i=t.taskChildren(e),d=null;for(a=0,r=i.length;a<r;a++)i[a].plannedEnd&&(n=i[a].plannedEnd.getTime(),(!d||n>d)&&(d=n));return d?new Date(d):null};this._updateSummaryRecursive(e,"plannedEnd",n)},_resolveSummaryPercentComplete:function(e){var t=this,n=function(e){var n=t.taskChildren(e),a=new l(n).aggregate([{field:"percentComplete",aggregate:"average"}]);return a.percentComplete.average};this._updateSummaryRecursive(e,"percentComplete",n)},_reorderSiblings:function(e,t){var n,a=e.get("orderId"),r=a>t,i=r?t:a,d=r?a:t,s=r?i:i+1,l=this.taskSiblings(e);if(l.length)for(d=Math.min(d,l.length-1),n=i;n<=d;n++)l[n]!==e&&(l[n].set("orderId",s),s+=1)},_toGanttTask:function(e){if(!(e instanceof n)){var t=e;e=u.fn._createNewModel.call(this),e.accept(t)}return e},_updateSummary:function(e){if(null!==e){var t=this.taskChildren(e).length;e.set("summary",t>0)}},_updateSummaryRecursive:function(e,t,n){var a,r;e&&(a=n(e),e.set(t,a),r=this.taskParent(e),r&&this._updateSummaryRecursive(r,t,n))}}),a.create=f(a,"GanttDataSource"),i(!0,kendo.data,{GanttDataSource:a,GanttTask:n,GanttDependencyDataSource:v,GanttDependency:m})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,n){(n||t)()});
//# sourceMappingURL=kendo.gantt.data.min.js.map