PageSourceSearch

https://skravlekort.no/file/site/script/-504514007.af.365.controls.Gantt.js

js skravlekort.no collected 2026-10-02 00:39:55 UTC 5,496 bytes, 1 lines download raw bytes

1(function(n){"use strict";var i=n.af,r=i.common,t={markupMain:'<div class="bar-data" >   <div style="padding-left: 10px;">   <\/div><\/div>',markupHeader:'<div class="gantt gantt-header bar-header" ><\/div>',markupDetails:'<div class="gantt details bar-cell" style="position:absolute; left:0px; right:0px;"><span>  <span data-drawcell style="position:absolute;width:100%;" class="bar">       <span class="title"><\/span>       <span class="actualprogress"><\/span>   <\/span><\/span><\/div>',markupDetailsMilestone:'<div class="details bar-cell" style="position:absolute; left:0px; right:0px;">  <span class="milestone" style="border:0px">       <span><\/span>       <span class="title"><\/span>  <\/span><\/div>',offsetTop:68,defaultUnitWidth:4,defaultNumOfDays:212};function Gantt(n,r){var e=this,u={dataObject:n.dataObject,fieldStart:n.fieldStart,fieldEnd:n.fieldEnd,fieldProgress:n.fieldProgress,fieldGroupBy:n.fieldGroupBy,fieldTitle:n.fieldTitle,fieldTooltip:n.fieldTooltip,fieldCutOff:n.fieldCutOff,unitWidth:4,cellHeight:34},f=null;function intialize(){f=$(t.markupMain);r.append(f);$(window).on("resize",function(){setWidth()});$(".af-toggle-sidebar").click(function(){setWidth()});u.dataObject.attachEvent("onDataLoaded",function(){renderBars(f.children().eq(0));setWidth()});u.dataObject.attachEvent("onAfterSave",function(){renderBars(f.children().eq(0))});u.dataObject.attachEvent("onRecordDeleted",function(){renderBars(f.children().eq(0))});function renderBars(n){if(n.empty(),u.dataObject.getData().getDataLength()!==0){var e=getMaxDate(),i=getMinDate(),s,h=0,c,l,a;l=e===null||i===null?0:Math.abs(e.getTime()-i.getTime());a=parseInt(l/864e5,10);u.unitWidth=t.defaultUnitWidth*(t.defaultNumOfDays/a);u.dataObject.getData().forEach(function(t,r){u.fieldGroupBy&&t[u.fieldGroupBy]!==s&&(s=t[u.fieldGroupBy],h+=40);c=renderRow(t,r,e,i,h);n.append(c)});var o=new Date;u.fieldCutOff&&u.dataObject.getDataLength()&&u.dataObject.getData(0)[u.fieldCutOff]&&(o=u.dataObject.getData(0)[u.fieldCutOff]);var v=u.unitWidth*dateDiffInDays(i,o);v=new Date(i.getFullYear(),i.getMonth()+1,0).getDate()-i.getDate()<5&&i.getDate()>15?u.unitWidth*(dateDiffInDays(i,o)+15):u.unitWidth*dateDiffInDays(i,o);f.find(".timenow").remove();f.append($("<span>").addClass("timenow").css("left",v));n.prepend(renderHeader(i,e,+$(r.data("gantt")).css("height").replace("px","")-6));f.css("height",+$(r.data("gantt")).css("height").replace("px","")+10);f.css("left",+$(r.data("gantt")).css("width").replace("px","")-2)}}function setWidth(){u.timeout&&clearTimeout(u.timeout);u.timeout=setTimeout(function(){var n=window.innerWidth-+$(r.data("gantt")).css("width").replace("px","");r.find(".bar-data").css("width",n-40)},10)}function renderRow(n,r,f,e,o){var h,l,v,a,c,s;if(s=n[u.fieldStart]&&n[u.fieldEnd]?$(t.markupDetails):$(t.markupDetailsMilestone),h=new XDate(e),new Date(h.getFullYear(),h.getMonth()+1,0).getDate()-h.getDate()<5&&h.getDate()>15&&h.addDays(-15),l=f,v=dateDiffInDays(h,l),a=dateDiffInDays(h,n[u.fieldStart]),c=dateDiffInDays(n[u.fieldStart],n[u.fieldEnd]),s.css("left",u.unitWidth*a),n[u.fieldStart]&&n[u.fieldEnd]?(s.css("width",u.unitWidth*c),s.find(".title").css("left",u.unitWidth*c+6),u.fieldTitle&&s.find(".title").text(n[u.fieldTitle])):(s.css("margin-top","5px"),s.find(".title").text(i.common.formatByMask(n[u.fieldStart],"dd-MMM-yyyy"))),u.fieldProgress&&(u.dataObject.getFields(u.fieldProgress).type==="date"||u.dataObject.getFields(u.fieldProgress).type==="datetime")){var y=dateDiffInDays(n[u.fieldStart],n[u.fieldProgress])*u.unitWidth;s.find(".actualprogress").css("width",y)}else u.fieldProgress&&n[u.fieldProgress]>0&&s.find(".actualprogress").css("width",n[u.fieldProgress]*u.unitWidth*c);return n[u.fieldStart]&&n[u.fieldEnd]?s.css("top",r*u.cellHeight+t.offsetTop+o):s.css("top",r*u.cellHeight+t.offsetTop+15+o),u.fieldTooltip?s.attr("title",n[u.fieldTooltip]):s.attr("title",i.common.formatByMask(n[u.fieldStart],"dd-MMM-yyyy")+" "+i.common.formatByMask(n[u.fieldEnd],"dd-MMM-yyyy")),s}function renderHeader(n,r,f){var e=new XDate(n,!0),c=new XDate(r,!0),y=0,l=-1,s=-1,a=0,h=0,o=null,v=$(t.markupHeader);for(c=c.addDays(15),new Date(e.getFullYear(),e.getMonth()+1,0).getDate()-e.getDate()<5&&e.getDate()>15&&e.addDays(-15);e<c;){y!==e.getFullYear()&&(o&&(o.css("width",h-5),h=0),o=$("<span class='year'>").text(e.getFullYear()),o.css("left",a-5),v.prepend(o),y=e.getFullYear());l!==e.getMonth()&&(s=l===-1?monthDays(e)-e.getDate():monthDays(e),v.append($("<span class='week'>").css("width",s*u.unitWidth).css("left",a).css("height",f).append($("<span>").text(i.common.formatByMask(e,"MMM")))),l=e.getMonth(),a+=s*u.unitWidth,h+=s*u.unitWidth);var p=e.setDate(e.getDate()+1);e=new Date(p)}return o.css("width",h-5),v}function monthDays(n){var t=new Date(n.getFullYear(),n.getMonth()+1,0);return t.getDate()}function dateDiffInDays(n,t){if(n&&t){var i=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()),r=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate());return Math.floor((r-i)/864e5)}return 0}function getMaxDate(){var n=null;
1return u.dataObject.getData().forEach(function(t){n===null&&(n=t[u.fieldEnd]);n<t[u.fieldEnd]&&(n=t[u.fieldEnd])}),u.dataObject.getData().forEach(function(t){n===null&&(n=t[u.fieldStart]);n<t[u.fieldStart]&&(n=t[u.fieldStart])}),n}function getMinDate(){var n=null;return u.dataObject.getData().forEach(function(t){(n===null||n>t[u.fieldStart]&&t[u.fieldStart]!==null)&&(n=t[u.fieldStart])}),n}}intialize()}r.expose("af.controls",Gantt)})(this);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.