diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures.zip index e5758626b..06cd48b6e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage.zip index 01f696175..7f761891c 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration.zip index f1bbe6c47..2588f6aa1 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem.zip index d112bd7e4..0705cc92e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage.zip index 1e2abc848..ba208bbd7 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration.zip index 8577aae67..9446a2285 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage.zip index 7ff158dae..876f6b729 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration.zip index 9cba99327..5d344c038 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage.zip index 29e03ccec..f6521686b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration.zip index 530270896..733982dcc 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/AngularJS/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources.zip index 5c5815390..8370812cd 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate.zip index 91e66a859..d50f1d24b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL.zip index 2354caaef..e929975c9 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AssignmentsTree-HL/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling.zip index 44a4b8b5d..420a177c2 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline.zip index 0849560b0..4054c2eec 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales.zip index d564ec53a..f2ba80bcd 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications.zip index 419beef71..312a5771e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns.zip index f86ff7258..a0c3ce48f 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus.zip index ad6424c6e..900a1f42f 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule.zip index e215ab5c3..ee504c1e8 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath.zip index f99a04c17..59c09ac92 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale.zip index 78a271a85..64335fe0d 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules.zip index 126651a00..a21bb142a 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate.zip index bd2acad6c..b7181f718 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats.zip index 9c7d51cba..a0a2e3d20 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF.zip index 7eb95e2de..8bb0615c0 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering.zip index b091698e5..7524518d0 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization.zip index c6797072b..e57ecb125 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/HierarchicalVirtualization/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions.zip index ec52867a5..895677f26 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures.zip index 518f23659..c4cfc5d53 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources.zip index ad300592c..3b5fa27b9 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale.zip index b24059bf3..c1e4c3e1f 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents.zip index 86efbe629..c2e0e42ed 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown.zip index 2846028f4..e114237f3 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem.zip index 9575ca8e8..555f82ff8 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance.zip index a6776a671..48d951995 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing.zip index c4216184c..fee58780f 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml.zip index f7edf3b50..f85144eae 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings.zip index 41978cad0..143b2a25b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes.zip index 67d1255f1..2e16cf756 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays.zip index d196c4666..1099028ce 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses.zip index be158407a..62f66529f 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling.zip index 467e5ff1f..bf18cf6e9 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints.zip index d4c9b758b..202710333 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo.zip index 662ca11f5..f35bf3b0b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS.zip index 1a89b7199..633cba641 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations.zip index e448e8f18..984e009b4 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel.zip index a830c7dde..05adcb978 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales.zip index ce215ed20..ad6b354e5 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration.zip index 9607b2a2a..30817c216 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures.zip index 0977fa436..379af5497 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing.zip index 387eac754..e98c9a265 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem.zip index 208a2703a..adffda73e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling.zip index a8ef9a49e..7a11acf4b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration.zip index ba6e3f7c2..d853ce980 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures.zip index ac22b80ca..2d921516e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing.zip index 8687940a6..11a704912 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling.zip index 1ff0f7f5b..f9fb5ce59 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration.zip index fdcc086ef..419f51339 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures.zip index 6e9b1119f..845fe322a 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing.zip index 93572d1f5..32737699b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling.zip index 4076a626a..c45e8d4f9 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks.zip index d23026082..2c76dc8f1 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales.zip index 94a6fb75a..918824516 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications.zip index 544a7460a..dcdef1742 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns.zip index cf2c08196..f375f3aa1 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule.zip index 1981be89d..ebb2ae6df 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale.zip index 04d8a43de..67a4be592 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate.zip index dc7cc3bf7..9a8e60647 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering.zip index 8a9e5f60e..1dc6cf69a 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration.zip index fbedd9a45..22f86c227 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy.zip index 84774ddd0..c466635a5 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures.zip index e5f59bc2f..4b2cb3df0 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents.zip index 36bda1c6b..f9da3cc62 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing.zip index afa961b3b..32ef57334 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings.zip index 5fb99f7de..55a6020e5 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus.zip index 240ff2a2e..28e2bda94 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling.zip index f228cdbc5..f0491f73d 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays.zip index 1eeaef688..1e8770e72 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling.zip index c8bfed9bd..f85ca4e6d 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel.zip b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel.zip index 3b36f5102..9d7caee61 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/JavaScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources.zip index e889d2eb0..a2cc7c882 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssigningResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate.zip index 0c5bdb47c..fdcbbc2ea 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AssignmentsTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling.zip index e9d26e23c..0abff1ea1 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/AutomaticScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline.zip index da8f24dd6..ecb433d61 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Baseline/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales.zip index 53fd3d2e9..418e0cffc 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications.zip index bc37236ec..061422f7c 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns.zip index eb05dbd84..cf781b52f 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus.zip index d6223c9ca..9f2a948c9 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContextMenus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule.zip index bebe55815..35a600f9e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath.zip index d1565ac6a..be77f71a8 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CriticalPath/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale.zip index e47046609..52314b94c 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules.zip index 5603d47ed..13ede18d1 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomSchedules/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate.zip index 62b3e3595..ca159faba 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats.zip index 10d7290a2..8036012e2 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/DateTimeFormats/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF.zip index 4ed02b0cd..5ff2b49d3 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ExportPngImage-PMF/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering.zip index 4d29efdd8..86ec15753 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions.zip index 2912aeca9..ff1182f03 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Interruptions/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures.zip index 00b25387d..5cbeeb4df 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MainFeatures/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources.zip index b59b67811..fecae2f30 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MaterialResources/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale.zip index 01bd45302..2c61cd1a7 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MinuteScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents.zip index 4f29f009f..5474850d2 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown.zip index 00e9b4155..4147a2eb4 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MoveUpDown/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem.zip index 0d0e0360c..26aa71c37 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/MultipleBarsPerItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance.zip index 38e0478c3..92e538861 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Performance/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing.zip index 4f808e2cc..6afe35627 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml.zip index 372e31d98..70da2f870 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ProjectXml/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings.zip index 89f444ca7..36a1d5b8d 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes.zip index aaf628ddc..40a7b2560 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SelectionModes/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays.zip index 17c1492aa..2b7b4fab7 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses.zip index c048122e3..55dbf3a67 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Statuses/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling.zip index f0cacee4a..adc185969 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints.zip index a294ff3bc..cff9ca026 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/TimeConstraints/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo.zip index 9b105ffae..16c073ea5 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/UndoRedo/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS.zip index 7cee1deeb..7de05d2fd 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WBS/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations.zip index b823699d0..055b58d7a 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/WorkOptimizations/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel.zip index 6e421b831..fc2dc9523 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/GanttChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage.zip index c8da9d62d..0eaff727c 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales.zip index 2d0956f85..22e489bb1 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration.zip index 279e6adec..23563213c 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing.zip index efcdd7bea..22b3b54b3 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem.zip index 10a8b8a7e..316d6a787 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/SingleItem/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling.zip index 354c1042c..078ceb63b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/LoadChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage.zip index 158829d9d..80dd05c64 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration.zip index 3b5efffbb..dec2cdaad 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing.zip index e1ad150bd..d88fce005 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling.zip index 91e51d4b5..fe1f51aa9 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/NetworkDiagramView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage.zip index b44ec6f7d..fd289d385 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration.zip index 384ccf5ed..9123f7329 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing.zip index 146f6f8ef..0465f7351 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling.zip index d15c46e93..95d1dc313 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/PertChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks.zip index ee0b8144f..8916bf908 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/AssigningTasks/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage.zip index 57e063d06..e213cb49e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BasicUsage/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales.zip index 23b7cae01..4630be04f 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/BuiltinScales/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications.zip index 999c6a20c..4ce7d584e 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ChangeNotifications/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns.zip index cf5b9de53..5db84985c 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Columns/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule.zip index 0760ef988..a6dda6bdd 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ContinuousSchedule/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale.zip index ccd639cc2..34d048594 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomScale/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate.zip index 9b8ed8303..dae5f0f25 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/CustomTemplate/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering.zip index 09fc26d88..c6d135c0d 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Filtering/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration.zip index e7af40140..edc7f43d6 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/GanttChartIntegration/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy.zip index 37d650a7a..8ef143f9b 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Hierarchy/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents.zip index 1d9c42bd0..3b5660ae8 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/MouseEvents/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing.zip index cc82323f6..dfe31eeb2 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Printing/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings.zip index 087518aa1..ce988eb63 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ReadOnlySettings/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus.zip index eda7bad04..53d2615a5 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ResourceStatus/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling.zip index 77ab23365..fa094cb71 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ShiftScheduling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays.zip index 10ae07195..de0564c77 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/SpecialDays/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling.zip index 8860389a5..af505a749 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/Styling/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel.zip b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel.zip index 7e8f7f96b..cc5cb0857 100644 Binary files a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel.zip and b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel.zip differ diff --git a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Samples/TypeScript/ScheduleChartView/ZoomLevel/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js b/GanttChartHyperLibraryDemos/Demos/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js index 5c07300f7..217f29dcd 100644 --- a/GanttChartHyperLibraryDemos/Demos/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js +++ b/GanttChartHyperLibraryDemos/Demos/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras.js @@ -1,34 +1,34 @@ -"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.4",copyright:"Copyright \ufffd 2013-2014 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); -DlhSoft.buildReleaseDate=function(i,B,p){i=new Date(i,B-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; +"undefined"===typeof DlhSoft&&(DlhSoft={assemblies:[],buildReleaseDate:new Date(1,0,1)});DlhSoft.assemblies.push({assembly:"DlhSoft.ProjectData.GanttChart.HTML.Controls.Extras",company:"DlhSoft",product:"Project Data Modern Library",version:"5.1.10.5",copyright:"Copyright \ufffd 2013-2019 DlhSoft",title:"Project Data Gantt Chart HTML Controls Extras",description:"Project Data Gantt Chart related HTML client extra components"}); +DlhSoft.buildReleaseDate=function(i,C,p){i=new Date(i,C-1,p);return i>DlhSoft.buildReleaseDate?i:DlhSoft.buildReleaseDate}(2014,1,15);var DlhSoft; (function(i){(function(i){(function(p){(function(i){i.initialize=function(a,b){return new J(a,b)};var J=function(){function a(b,c){this.control=b;this.settings=c;"undefined"===typeof c&&(c={});this.settings=c;a.initializeSettings(this.settings)}a.prototype.loadXml=function(b){this.importXml(b)};a.prototype.importXml=function(b){var c=this.control,e=c.items,g=c.settings,d=null;if("undefined"!==typeof b&&("undefined"!==typeof b.document&&(b=b.document),"undefined"!==typeof b.getElementsByTagName))d= b,1!=d.getElementsByTagName("Project").length&&(b=d.body.innerHTML,b=b.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/
/g,"\n"),d=null);null==d&&(d=(new DOMParser).parseFromString(b.toString(),"text/xml"));var b=[],W=[],i=[],q=[];"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.splice(0,this.settings.assignableResources.length);d=d.getElementsByTagName("Project")[0];if("undefined"!==typeof d){var k,l,s,h;try{var n=d.getElementsByTagName("CalendarUID")[0].childNodes[0].nodeValue, -r,f,x=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var y=n[0];k=parseInt(y.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=y.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){D=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),B=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), -X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),B/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:D,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); -for(f=0;f=F.getElementsByTagName("Name").length)){D=F.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=F.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:F,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:D,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= -d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fA)){o=i[A].value;var Z=G.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=G.getElementsByTagName("Units")[0].childNodes[0].nodeValue,z="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":"");"undefined"!== -typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:G,ganttChartItem:o,resource:w,allocationUnits:z},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,z=j.allocationUnits,L=w+(1!=z?" ":"")+(1!=z?"["+Math.round(1E4*z)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}C=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fA)){o=i[A].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=parseInt(H.getElementsByTagName("Type")[0].childNodes[0].nodeValue);l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=H.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba}; -"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]);o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime= -e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime=function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]);var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))}, -{key:"Finish",value:a.convertDateToXml(p.getOutputDate(x))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(y)},{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-y)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d/g,">")}],n+=this.saveResourceInfo(h, -a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c}; -a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; +r,f,y=d.getElementsByTagName("Calendars")[0].getElementsByTagName("Calendar");for(f=0;fd?1:-1});var z=n[0];k=parseInt(z.getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;l=parseInt(n[n.length-1].getElementsByTagName("DayType")[0].childNodes[0].nodeValue)-1;var m=z.getElementsByTagName("WorkingTimes")[0].getElementsByTagName("WorkingTime");s=a.parseXmlToTimeSpan(m[0].getElementsByTagName("FromTime")[0].childNodes[0].nodeValue);for(f=h=0;f=t.getElementsByTagName("Name").length)){var M=parseInt(t.getElementsByTagName("OutlineLevel")[0].childNodes[0].nodeValue)-1;if(!(0>M)){E=t.getElementsByTagName("UID")[0].childNodes[0].nodeValue;K=t.getElementsByTagName("Name")[0].childNodes[0].nodeValue;var N=a.parseXmlToDateTime(t.getElementsByTagName("Start")[0].childNodes[0].nodeValue),O=a.parseXmlToDateTime(t.getElementsByTagName("Finish")[0].childNodes[0].nodeValue),C=parseInt(t.getElementsByTagName("PercentComplete")[0].childNodes[0].nodeValue), +X=p.getOutputDate(c.getCompletedFinish(p.getInputDate(N),C/100,p.getInputDate(O))),Y="1"==t.getElementsByTagName("Milestone")[0].childNodes[0].nodeValue?!0:!1;o={content:K,indentation:M,isExpanded:!0,start:N,finish:O,completedFinish:X,isMilestone:Y};"undefined"!==typeof this.settings.ganttChartItemLoadingHandler&&(j={sourceElement:t,ganttChartItem:o},this.settings.ganttChartItemLoadingHandler(j),o=j.ganttChartItem);b.push(o);i.push({key:E,value:o})}}}var P=d.getElementsByTagName("Resources")[0].getElementsByTagName("Resource"); +for(f=0;f=G.getElementsByTagName("Name").length)){E=G.getElementsByTagName("UID")[0].childNodes[0].nodeValue;var w=K=G.getElementsByTagName("Name")[0].childNodes[0].nodeValue;"undefined"!==typeof this.settings.assignableResourceInfoLoadingHandler&&(j={sourceElement:G,resource:w},this.settings.assignableResourceInfoLoadingHandler(j),w=j.resource);W.push(w);q.push({key:E,value:w});"undefined"!==typeof this.settings.assignableResources&&this.settings.assignableResources.push(w)}}var Q= +d.getElementsByTagName("Assignments")[0].getElementsByTagName("Assignment");for(f=0;fB)){o=i[B].value;var Z=H.getElementsByTagName("ResourceUID")[0].childNodes[0].nodeValue,R=a.indexOfKey(q,Z);if(!(0>R)){var w=q[R].value,S=H.getElementsByTagName("Units")[0].childNodes[0].nodeValue,A="undefined"!==typeof S?parseFloat(S):1,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":"");"undefined"!== +typeof this.settings.assignmentInfoLoadingHandler&&(j={sourceElement:H,ganttChartItem:o,resource:w,allocationUnits:A},this.settings.assignmentInfoLoadingHandler(j),w=j.resource,A=j.allocationUnits,L=w+(1!=A?" ":"")+(1!=A?"["+Math.round(1E4*A)/100+"%]":""));o.assignmentsContent="undefined"===typeof o.assignmentsContent||0==o.assignmentsContent.length?L:o.assignmentsContent+", "+L}}}D=d.getElementsByTagName("Tasks")[0].getElementsByTagName("Task");for(f=0;fB)){o=i[B].value;var T=t.getElementsByTagName("PredecessorLink");for(k=0;kU)){var aa=i[U].value,I=x.getElementsByTagName("Type")&&x.getElementsByTagName("Type")[0]&&x.getElementsByTagName("Type")[0].childNodes?parseInt(x.getElementsByTagName("Type")[0].childNodes[0].nodeValue):1;l=1==I?"":3==I?"SS":0==I?"FF":2==I?"SF":"";var V=x.getElementsByTagName("LinkLag")&& +x.getElementsByTagName("LinkLag")[0]&&x.getElementsByTagName("LinkLag")[0].childNodes?x.getElementsByTagName("LinkLag")[0].childNodes[0].nodeValue:null,ba=(null!=V?parseInt(V):0)/10*a.minuteDuration;l={item:aa,dependencyType:l,lag:ba};"undefined"!==typeof this.settings.predecessorItemLoadingHandler&&(j={sourceElement:x,ganttChartItem:o,predecessorItem:l},this.settings.predecessorItemLoadingHandler(j),l=j.predecessorItem,o=j.ganttChartItem);"undefined"===typeof o.predecessors&&(o.predecessors=[]); +o.predecessors.push(l)}}}for(f=0;ff&&(e=f);g.timelineStart=new Date(e.valueOf()-1*a.weekDuration);g.timelineFinish=new Date(e.valueOf()+52*a.weekDuration);g.displayedTime=e;c.refresh()};a.parseXmlToTimeSpan=function(b){var a,e,g,d,i;d=b.indexOf(":");i=b.lastIndexOf(":");0d&&b.length>i)&&(a=parseInt(b.substr(0,d)),e=parseInt(b.substr(d+1,i)),g=parseInt(b.substr(i+1,b.length)));return 1E3*(3600*a+60*e+g)};a.parseXmlToDateTime= +function(b){var a,e,g,d,i,p,q,k,l=b.indexOf("T");q=b.indexOf("-");0q&&(e=parseInt(b.substring(q+1,k)),l>k&&(g=parseInt(b.substring(k+1,l)))));q=b.indexOf(":");0k&&(p=parseInt(b.substring(k+1,b.length)))));return new Date(a,e-1,g,d,i,p)};a.indexOfKey=function(b,a){for(var e=0;ethis.settings.assignableResources.indexOf(k[d])&&this.settings.assignableResources.push(k[d]); +var k=this.settings.assignableResources,l="";for(d=0;7>d;d++){var s=g.workingWeekStart<=d&&g.workingWeekFinish>=d;0/g,">")},{key:"Indentation",value:(h.indentation+1).toString()},{key:"Start",value:a.convertDateToXml(p.getOutputDate(f))},{key:"Finish",value:a.convertDateToXml(p.getOutputDate(y))},{key:"Duration",value:a.convertTimeSpanToXml(u)},{key:"CompletedDuration",value:a.convertTimeSpanToXml(n)},{key:"Effort",value:a.convertTimeSpanToXml(r)},{key:"CompletedEffort",value:a.convertTimeSpanToXml(z)}, +{key:"RemainingEffort",value:a.convertTimeSpanToXml(r-z)},{key:"IsMilestone",value:h.isMilestone?1:0},{key:"IsSummary",value:h.hasChildren?1:0},{key:"Cost",value:c.getItemCost(h)},{key:"Completion",value:!h.isMilestone&&0q&&!h.hasChildren?""+a.convertDateToXml(p.getOutputDate(f))+"":""},{key:"PredecessorLinks",value:m}];s+=this.saveGanttChartItem(h,a.taskXmlTemplate,r)}n="";for(d=0;d< +k.length;d++)0/g,">")}],n+=this.saveResourceInfo(h,a.resourceXmlTemplate,r);f="";for(d=0;d/g,">").replace(/\n/g,"
");a.write(e);a.close();return c};a.initializeSettings=function(){};a.secondDuration=1E3;a.minuteDuration=60*a.secondDuration;a.hourDuration=60*a.minuteDuration;a.dayDuration=24*a.hourDuration;a.weekDuration=7*a.dayDuration;a.projectXmlTemplate="\n\n14\n1\n{ProjectStart}\n{DayStart}\n{DayFinish}\n{MinutesPerDay}\n{MinutesPerWeek}\n7\n2\n1\n\n\n1\nStandard\n1\n-1\n\n{ScheduleWeekDays}\n\n\n\n\n{Tasks}\n\n\n{Resources}\n\n\n{Assignments}\n\n"; a.scheduleWeekDayXmlTemplate="\n{DayNumber}\n{IsWorkingDay}\n{WorkingTimes}\n";a.scheduleDayWorkingTimesXmlTemplate="\n\n{FromTime}\n{ToTime}\n\n";a.taskXmlTemplate="\n{Index}\n{Index}\n1\n{Content}\n0\n0\n{Indentation}\n500\n{Start}\n{Finish}\n{Duration}\n7\n{Effort}\n{CompletedDuration}\n{CompletedEffort}\n{RemainingEffort}\n{IsMilestone}\n{IsSummary}\n0\n3\n{Completion}\n{Cost}\n0\n{ConstraintDefinition}\n-1\n0\n{PredecessorLinks}\n"; a.predecessorXmlTemplate="\n{PredecessorIndex}\n{DependencyType}\n{Lag}\n5\n";a.resourceXmlTemplate="\n{Index}\n{Index}\n{Name}\n1\n0\n1\n";a.assignmentXmlTemplate="\n{Indexes}\n{TaskIndex}\n{ResourceIndex}\n{AllocationUnits}\n{Completion}\n{Start}\n{Finish}\n{Effort}\n{CompletedEffort}\n{RemainingEffort}\n"; return a}();i.Service=J})(p.ProjectSerializer||(p.ProjectSerializer={}))})(i.GanttChartView||(i.GanttChartView={}))})(i.Controls||(i.Controls={}))})(DlhSoft||(DlhSoft={})); diff --git a/GanttChartHyperLibraryDemos/Demos/packages.config b/GanttChartHyperLibraryDemos/Demos/packages.config index 02a944264..d7ecfa6fb 100644 --- a/GanttChartHyperLibraryDemos/Demos/packages.config +++ b/GanttChartHyperLibraryDemos/Demos/packages.config @@ -1,7 +1,7 @@  - +