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

Function Nt

codebase/dhtmlxscheduler.es.js:117–514  ·  view source on GitHub ↗
(e)

Source from the content-addressed store, hash-verified

115 });
116}
117function Nt(e) {
118 e.config.mark_now = !0, e.config.display_marked_timespans = !0, e.config.overwrite_marked_timespans = !0;
119 var i = "dhx_time_block", t = "default", n = function(a, o, _) {
120 var r = typeof a == "object" ? a : { days: a };
121 return r.type = i, r.css = "", o && (_ && (r.sections = _), r = function(d, l, h) {
122 return l instanceof Date && h instanceof Date ? (d.start_date = l, d.end_date = h) : (d.days = l, d.zones = h), d;
123 }(r, a, o)), r;
124 };
125 function s(a, o, _, r, d) {
126 var l = e, h = [], p = { _props: "map_to", matrix: "y_property" };
127 for (var m in p) {
128 var g = p[m];
129 if (l[m])
130 for (var c in l[m]) {
131 var u = l[m][c][g];
132 a[u] && (h = l._add_timespan_zones(h, e._get_blocked_zones(o[c], a[u], _, r, d)));
133 }
134 }
135 return h = l._add_timespan_zones(h, e._get_blocked_zones(o, "global", _, r, d));
136 }
137 e.blockTime = function(a, o, _) {
138 var r = n(a, o, _);
139 return e.addMarkedTimespan(r);
140 }, e.unblockTime = function(a, o, _) {
141 var r = n(a, o = o || "fullday", _);
142 return e.deleteMarkedTimespan(r);
143 }, e.checkInMarkedTimespan = function(a, o, _) {
144 o = o || t;
145 for (var r = !0, d = new Date(a.start_date.valueOf()), l = e.date.add(d, 1, "day"), h = e._marked_timespans; d < a.end_date; d = e.date.date_part(l), l = e.date.add(d, 1, "day")) {
146 var p = +e.date.date_part(new Date(d)), m = s(a, h, d.getDay(), p, o);
147 if (m)
148 for (var g = 0; g < m.length; g += 2) {
149 var c = e._get_zone_minutes(d), u = a.end_date > l || a.end_date.getDate() != d.getDate() ? 1440 : e._get_zone_minutes(a.end_date), f = m[g], y = m[g + 1];
150 if (f < u && y > c && !(r = typeof _ == "function" && _(a, c, u, f, y)))
151 break;
152 }
153 }
154 return !r;
155 }, e.checkLimitViolation = function(a) {
156 if (!a || !e.config.check_limits)
157 return !0;
158 var o = e, _ = o.config, r = [];
159 if (a.rec_type && a._end_date || a.rrule) {
160 const m = a._end_date || a.end_date;
161 return !_.limit_start || !_.limit_end || m.valueOf() >= _.limit_start.valueOf() && a.start_date.valueOf() <= _.limit_end.valueOf();
162 }
163 r = [a];
164 for (var d = !0, l = 0; l < r.length; l++) {
165 var h = !0, p = r[l];
166 p._timed = e.isOneDayEvent(p), (h = !_.limit_start || !_.limit_end || p.start_date.valueOf() >= _.limit_start.valueOf() && p.end_date.valueOf() <= _.limit_end.valueOf()) && (h = !e.checkInMarkedTimespan(p, i, function(m, g, c, u, f) {
167 var y = !0;
168 return g <= f && g >= u && ((f == 1440 || c <= f) && (y = !1), m._timed && o._drag_id && o._drag_mode == "new-size" ? (m.start_date.setHours(0), m.start_date.setMinutes(f)) : y = !1), (c >= u && c <= f || g < u && c > f) && (m._timed && o._drag_id && o._drag_mode == "new-size" ? (m.end_date.setHours(0), m.end_date.setMinutes(u)) : y = !1), y;
169 })), h || (h = o.checkEvent("onLimitViolation") ? o.callEvent("onLimitViolation", [p.id, p]) : h), d = d && h;
170 }
171 return d || (o._drag_id = null, o._drag_mode = null), d;
172 }, e._get_blocked_zones = function(a, o, _, r, d) {
173 var l = [];
174 if (a && a[o])

Callers 1

LtFunction · 0.70

Calls 15

nFunction · 0.70
sFunction · 0.70
_Function · 0.70
addMarkedTimespanMethod · 0.65
deleteMarkedTimespanMethod · 0.65
addMethod · 0.65
date_partMethod · 0.65
isOneDayEventMethod · 0.65
checkInMarkedTimespanMethod · 0.65
checkEventMethod · 0.65
callEventMethod · 0.65
invertZonesMethod · 0.65

Tested by

no test coverage detected