MCPcopy Create free account
hub / github.com/DHTMLX/scheduler / Ha

Function Ha

codebase/dhtmlxscheduler.es.js:6057–6092  ·  view source on GitHub ↗
(e, i)

Source from the content-addressed store, hash-verified

6055 return e;
6056}();
6057function Ha(e, i) {
6058 var t, n, s = ve(e, 1, 1), a = we(e) ? 366 : 365, o = we(e + 1) ? 366 : 365, _ = ze(s), r = xe(s), d = ee(ee({ yearlen: a, nextyearlen: o, yearordinal: _, yearweekday: r }, function(N) {
6059 var v = we(N) ? 366 : 365, x = ve(N, 1, 1), b = xe(x);
6060 return v === 365 ? { mmask: ka, mdaymask: Na, nmdaymask: Oa, wdaymask: it.slice(b), mrange: $a } : { mmask: Ea, mdaymask: Ma, nmdaymask: Ca, wdaymask: it.slice(b), mrange: La };
6061 }(e)), { wnomask: null });
6062 if (ie(i.byweekno))
6063 return d;
6064 d.wnomask = Y(0, a + 7);
6065 var l = t = te(7 - r + i.wkst, 7);
6066 l >= 4 ? (l = 0, n = d.yearlen + te(r - i.wkst, 7)) : n = a - l;
6067 for (var h = Math.floor(n / 7), p = te(n, 7), m = Math.floor(h + p / 4), g = 0; g < i.byweekno.length; g++) {
6068 var c = i.byweekno[g];
6069 if (c < 0 && (c += m + 1), c > 0 && c <= m) {
6070 var u = void 0;
6071 c > 1 ? (u = l + 7 * (c - 1), l !== t && (u -= 7 - t)) : u = l;
6072 for (var f = 0; f < 7 && (d.wnomask[u] = 1, u++, d.wdaymask[u] !== i.wkst); f++)
6073 ;
6074 }
6075 }
6076 if (F(i.byweekno, 1) && (u = l + 7 * m, l !== t && (u -= 7 - t), u < a))
6077 for (g = 0; g < 7 && (d.wnomask[u] = 1, u += 1, d.wdaymask[u] !== i.wkst); g++)
6078 ;
6079 if (l) {
6080 var y = void 0;
6081 if (F(i.byweekno, -1))
6082 y = -1;
6083 else {
6084 var w = xe(ve(e - 1, 1, 1)), D = te(7 - w.valueOf() + i.wkst, 7), M = we(e - 1) ? 366 : 365, k = void 0;
6085 D >= 4 ? (D = 0, k = M + te(w - i.wkst, 7)) : k = a - l, y = Math.floor(52 + te(k, 7) / 4);
6086 }
6087 if (F(i.byweekno, y))
6088 for (u = 0; u < l; u++)
6089 d.wnomask[u] = 1;
6090 }
6091 return d;
6092}
6093var za = function() {
6094 function e(i) {
6095 this.options = i;

Callers 1

Calls 9

veFunction · 0.85
weFunction · 0.85
xeFunction · 0.85
eeFunction · 0.85
zeFunction · 0.70
ieFunction · 0.70
YFunction · 0.70
teFunction · 0.70
FFunction · 0.70

Tested by

no test coverage detected