dhtmlx-scheduler 7.0.0 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -62,7 +62,7 @@ function de(e) {
62
62
  }(o);
63
63
  if (t) {
64
64
  var r = t(o);
65
- if (o.css && r.classList.add(o.css), o.width && ((s = o.width) === 1 * s && (s += "px"), r.style.width = s), o.height && ((s = o.height) === 1 * s && (s += "px"), r.style.height = s), o.click && r.addEventListener("click", o.click), o.html && (r.innerHTML = o.html), o.align) {
65
+ if (o.css && r.classList.add(o.css), o.width && ((s = o.width) === 1 * s && (s += "px"), r.style.width = s), o.height && ((s = o.height) === 1 * s && (s += "px"), r.style.height = s), o.click && e.event(r, "click", o.click), o.html && (r.innerHTML = o.html), o.align) {
66
66
  var s = "";
67
67
  o.align == "right" ? s = "flex-end" : o.align == "left" && (s = "flex-start"), r.style.justifyContent = s;
68
68
  }
@@ -78,8 +78,8 @@ function de(e) {
78
78
  for (var s = 0; s < t.length; s++) {
79
79
  var c, u = d(t[s]);
80
80
  u.view === "day" && t[s + 1] && ((c = d(t[s + 1])).view !== "week" && c.view !== "month" || (u.$firstTab = !0, u.$segmentedTab = !0)), u.view === "week" && t[s - 1] && ((c = d(t[s + 1])).view !== "week" && c.view !== "month" || (u.$segmentedTab = !0)), u.view === "month" && t[s - 1] && ((c = d(t[s - 1])).view !== "week" && c.view !== "day" || (u.$lastTab = !0, u.$segmentedTab = !0));
81
- var m = i(u);
82
- r.appendChild(m), (u.cols || u.rows) && m.appendChild(n(u.cols || u.rows));
81
+ var v = i(u);
82
+ r.appendChild(v), (u.cols || u.rows) && v.appendChild(n(u.cols || u.rows));
83
83
  }
84
84
  return r;
85
85
  }
@@ -402,8 +402,8 @@ const q = { getAbsoluteLeft: function(e) {
402
402
  var a = document.documentElement, i = function(d) {
403
403
  var n = 0, _ = 0, o = 0, t = 0;
404
404
  if (d.getBoundingClientRect) {
405
- var r = d.getBoundingClientRect(), s = document.body, c = document.documentElement || document.body.parentNode || document.body, u = window.pageYOffset || c.scrollTop || s.scrollTop, m = window.pageXOffset || c.scrollLeft || s.scrollLeft, v = c.clientTop || s.clientTop || 0, l = c.clientLeft || s.clientLeft || 0;
406
- n = r.top + u - v, _ = r.left + m - l, o = document.body.offsetWidth - r.right, t = document.body.offsetHeight - r.bottom;
405
+ var r = d.getBoundingClientRect(), s = document.body, c = document.documentElement || document.body.parentNode || document.body, u = window.pageYOffset || c.scrollTop || s.scrollTop, v = window.pageXOffset || c.scrollLeft || s.scrollLeft, m = c.clientTop || s.clientTop || 0, l = c.clientLeft || s.clientLeft || 0;
406
+ n = r.top + u - m, _ = r.left + v - l, o = document.body.offsetWidth - r.right, t = document.body.offsetHeight - r.bottom;
407
407
  } else {
408
408
  for (; d; )
409
409
  n += parseInt(d.offsetTop, 10), _ += parseInt(d.offsetLeft, 10), d = d.offsetParent;
@@ -709,7 +709,7 @@ function be(e) {
709
709
  var o = new Function("date", 'return "' + n + '";');
710
710
  return e.date._bind_host_object(o);
711
711
  }, str_to_date: function(n, _, o) {
712
- var t = d() ? a : h, r = t(n, _), s = /^[0-9]{4}(\-|\/)[0-9]{2}(\-|\/)[0-9]{2} ?(([0-9]{1,2}:[0-9]{1,2})(:[0-9]{1,2})?)?$/, c = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4} ?(([0-9]{1,2}:[0-9]{2})(:[0-9]{1,2})?)?$/, u = /^[0-9]{2}\-[0-9]{2}\-[0-9]{4} ?(([0-9]{1,2}:[0-9]{1,2})(:[0-9]{1,2})?)?$/, m = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/, v = t("%Y-%m-%d %H:%i:%s", _), l = t("%m/%d/%Y %H:%i:%s", _), f = t("%d-%m-%Y %H:%i:%s", _);
712
+ var t = d() ? a : h, r = t(n, _), s = /^[0-9]{4}(\-|\/)[0-9]{2}(\-|\/)[0-9]{2} ?(([0-9]{1,2}:[0-9]{1,2})(:[0-9]{1,2})?)?$/, c = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4} ?(([0-9]{1,2}:[0-9]{2})(:[0-9]{1,2})?)?$/, u = /^[0-9]{2}\-[0-9]{2}\-[0-9]{4} ?(([0-9]{1,2}:[0-9]{1,2})(:[0-9]{1,2})?)?$/, v = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/, m = t("%Y-%m-%d %H:%i:%s", _), l = t("%m/%d/%Y %H:%i:%s", _), f = t("%d-%m-%Y %H:%i:%s", _);
713
713
  return function(g) {
714
714
  if (!o && !e.config.parse_exact_format) {
715
715
  if (g && g.getISOWeek)
@@ -717,7 +717,7 @@ function be(e) {
717
717
  if (typeof g == "number")
718
718
  return new Date(g);
719
719
  if (p = g, s.test(String(p)))
720
- return v(g);
720
+ return m(g);
721
721
  if (function(y) {
722
722
  return c.test(String(y));
723
723
  }(g))
@@ -727,7 +727,7 @@ function be(e) {
727
727
  }(g))
728
728
  return f(g);
729
729
  if (function(y) {
730
- return m.test(y);
730
+ return v.test(y);
731
731
  }(g))
732
732
  return new Date(g);
733
733
  }
@@ -806,11 +806,11 @@ function xe(e) {
806
806
  var t = _[o].getAttribute("for"), r = a.serverList[t];
807
807
  r || (a.serverList[t] = r = []), r.splice(0, r.length);
808
808
  for (var s = a.ajax.xpath(".//item", _[o]), c = 0; c < s.length; c++) {
809
- for (var u = s[c].attributes, m = { key: s[c].getAttribute("value"), label: s[c].getAttribute("label") }, v = 0; v < u.length; v++) {
810
- var l = u[v];
811
- l.nodeName != "value" && l.nodeName != "label" && (m[l.nodeName] = l.nodeValue);
809
+ for (var u = s[c].attributes, v = { key: s[c].getAttribute("value"), label: s[c].getAttribute("label") }, m = 0; m < u.length; m++) {
810
+ var l = u[m];
811
+ l.nodeName != "value" && l.nodeName != "label" && (v[l.nodeName] = l.nodeValue);
812
812
  }
813
- r.push(m);
813
+ r.push(v);
814
814
  }
815
815
  }
816
816
  _.length && a.callEvent("onOptionsLoad", []);
@@ -849,21 +849,21 @@ function xe(e) {
849
849
  r || (a.serverList[o] = r = []), r.splice(0, r.length);
850
850
  for (var s = 0; s < t.length; s++) {
851
851
  var c = t[s], u = { key: c.value, label: c.label };
852
- for (var m in c)
853
- if (c.hasOwnProperty(m)) {
854
- if (m == "value" || m == "label")
852
+ for (var v in c)
853
+ if (c.hasOwnProperty(v)) {
854
+ if (v == "value" || v == "label")
855
855
  continue;
856
- u[m] = c[m];
856
+ u[v] = c[v];
857
857
  }
858
858
  r.push(u);
859
859
  }
860
860
  }
861
861
  _ && a.callEvent("onOptionsLoad", []);
862
- for (var v = [], l = 0; l < d.length; l++) {
862
+ for (var m = [], l = 0; l < d.length; l++) {
863
863
  var f = d[l];
864
- a._init_event(f), v.push(f);
864
+ a._init_event(f), m.push(f);
865
865
  }
866
- return v;
866
+ return m;
867
867
  } };
868
868
  }(e), function(a) {
869
869
  a.ical = a._parsers.ical = { canParse: function(i) {
@@ -993,18 +993,18 @@ function we(e) {
993
993
  }
994
994
  }, e._touch_events = function(h, a, i) {
995
995
  var d, n, _, o, t, r, s = 0;
996
- function c(m, v, l) {
997
- m.addEventListener(v, function(f) {
996
+ function c(v, m, l) {
997
+ e.event(v, m, function(f) {
998
998
  return !!e._is_lightbox_open() || (i(f) ? void 0 : l(f));
999
999
  }, { passive: !1 });
1000
1000
  }
1001
- function u(m) {
1002
- i(m) || (e._hide_global_tip(), o && (e._on_mouse_up(a(m)), e._temp_touch_block = !1), e._drag_id = null, e._drag_mode = null, e._drag_pos = null, e._pointerDragId = null, clearTimeout(_), o = r = !1, t = !0);
1001
+ function u(v) {
1002
+ i(v) || (e._hide_global_tip(), o && (e._on_mouse_up(a(v)), e._temp_touch_block = !1), e._drag_id = null, e._drag_mode = null, e._drag_pos = null, e._pointerDragId = null, clearTimeout(_), o = r = !1, t = !0);
1003
1003
  }
1004
- c(document.body, h[0], function(m) {
1005
- if (!i(m)) {
1006
- var v = a(m);
1007
- if (v) {
1004
+ c(document.body, h[0], function(v) {
1005
+ if (!i(v)) {
1006
+ var m = a(v);
1007
+ if (m) {
1008
1008
  if (o)
1009
1009
  return function(l) {
1010
1010
  if (!i(l)) {
@@ -1015,26 +1015,26 @@ function we(e) {
1015
1015
  w._sorder = k.length - 1, w._count = k.length, this.render_data([w], e.getState().mode);
1016
1016
  }), e._on_mouse_move(l), f == "create" && g && (e.render_view_data = p), l.preventDefault && l.preventDefault(), l.cancelBubble = !0;
1017
1017
  }
1018
- }(v), m.preventDefault && m.preventDefault(), m.cancelBubble = !0, e._update_global_tip(), !1;
1019
- n = a(m), r && (n ? (d.target != n.target || Math.abs(d.pageX - n.pageX) > 5 || Math.abs(d.pageY - n.pageY) > 5) && (t = !0, clearTimeout(_)) : t = !0);
1018
+ }(m), v.preventDefault && v.preventDefault(), v.cancelBubble = !0, e._update_global_tip(), !1;
1019
+ n = a(v), r && (n ? (d.target != n.target || Math.abs(d.pageX - n.pageX) > 5 || Math.abs(d.pageY - n.pageY) > 5) && (t = !0, clearTimeout(_)) : t = !0);
1020
1020
  }
1021
1021
  }
1022
- }), c(this._els.dhx_cal_data[0], "touchcancel", u), c(this._els.dhx_cal_data[0], "contextmenu", function(m) {
1023
- if (!i(m))
1024
- return r ? (m && m.preventDefault && m.preventDefault(), m.cancelBubble = !0, !1) : void 0;
1025
- }), c(this._obj, h[1], function(m) {
1026
- var v;
1027
- if (document && document.body && document.body.classList.add("dhx_cal_touch_active"), !i(m))
1028
- if (e._pointerDragId = m.pointerId, o = t = !1, r = !0, v = n = a(m)) {
1022
+ }), c(this._els.dhx_cal_data[0], "touchcancel", u), c(this._els.dhx_cal_data[0], "contextmenu", function(v) {
1023
+ if (!i(v))
1024
+ return r ? (v && v.preventDefault && v.preventDefault(), v.cancelBubble = !0, !1) : void 0;
1025
+ }), c(this._obj, h[1], function(v) {
1026
+ var m;
1027
+ if (document && document.body && document.body.classList.add("dhx_cal_touch_active"), !i(v))
1028
+ if (e._pointerDragId = v.pointerId, o = t = !1, r = !0, m = n = a(v)) {
1029
1029
  var l = /* @__PURE__ */ new Date();
1030
1030
  if (!t && !o && l - s < 250)
1031
- return e._click.dhx_cal_data(v), window.setTimeout(function() {
1032
- e.$destroyed || e._on_dbl_click(v);
1033
- }, 50), m.preventDefault && m.preventDefault(), m.cancelBubble = !0, e._block_next_stop = !0, !1;
1031
+ return e._click.dhx_cal_data(m), window.setTimeout(function() {
1032
+ e.$destroyed || e._on_dbl_click(m);
1033
+ }, 50), v.preventDefault && v.preventDefault(), v.cancelBubble = !0, e._block_next_stop = !0, !1;
1034
1034
  if (s = l, !t && !o && e.config.touch_drag) {
1035
- var f = e._locate_event(document.activeElement), g = e._locate_event(v.target), p = d ? e._locate_event(d.target) : null;
1035
+ var f = e._locate_event(document.activeElement), g = e._locate_event(m.target), p = d ? e._locate_event(d.target) : null;
1036
1036
  if (f && g && f == g && f != p)
1037
- return m.preventDefault && m.preventDefault(), m.cancelBubble = !0, e._ignore_next_click = !1, e._click.dhx_cal_data(v), d = v, !1;
1037
+ return v.preventDefault && v.preventDefault(), v.cancelBubble = !0, e._ignore_next_click = !1, e._click.dhx_cal_data(m), d = m, !1;
1038
1038
  _ = setTimeout(function() {
1039
1039
  if (!e.$destroyed) {
1040
1040
  o = !0;
@@ -1043,24 +1043,24 @@ function we(e) {
1043
1043
  b.style.display = "none", e._rendered.splice(k, 1);
1044
1044
  }), e.config.touch_tip && e._show_global_tip(), e.updateEvent(e._drag_id);
1045
1045
  }
1046
- }, e.config.touch_drag), d = v;
1046
+ }, e.config.touch_drag), d = m;
1047
1047
  }
1048
1048
  } else
1049
1049
  t = !0;
1050
- }), c(this._els.dhx_cal_data[0], h[2], function(m) {
1051
- if (document && document.body && document.body.classList.remove("dhx_cal_touch_active"), !i(m))
1052
- return e.config.touch_swipe_dates && !o && function(v, l, f, g) {
1053
- if (!v || !l)
1050
+ }), c(this._els.dhx_cal_data[0], h[2], function(v) {
1051
+ if (document && document.body && document.body.classList.remove("dhx_cal_touch_active"), !i(v))
1052
+ return e.config.touch_swipe_dates && !o && function(m, l, f, g) {
1053
+ if (!m || !l)
1054
1054
  return !1;
1055
- for (var p = v.target; p && p != e._obj; )
1055
+ for (var p = m.target; p && p != e._obj; )
1056
1056
  p = p.parentNode;
1057
1057
  if (p != e._obj || e.matrix && e.matrix[e.getState().mode] && e.matrix[e.getState().mode].scrollable)
1058
1058
  return !1;
1059
- var y = Math.abs(v.pageY - l.pageY), w = Math.abs(v.pageX - l.pageX);
1060
- return y < g && w > f && (!y || w / y > 3) && (v.pageX > l.pageX ? e._click.dhx_cal_next_button() : e._click.dhx_cal_prev_button(), !0);
1059
+ var y = Math.abs(m.pageY - l.pageY), w = Math.abs(m.pageX - l.pageX);
1060
+ return y < g && w > f && (!y || w / y > 3) && (m.pageX > l.pageX ? e._click.dhx_cal_next_button() : e._click.dhx_cal_prev_button(), !0);
1061
1061
  }(d, n, 200, 100) && (e._block_next_stop = !0), o && (e._ignore_next_click = !0, setTimeout(function() {
1062
1062
  e._ignore_next_click = !1;
1063
- }, 100)), u(m), e._block_next_stop ? (e._block_next_stop = !1, m.preventDefault && m.preventDefault(), m.cancelBubble = !0, !1) : void 0;
1063
+ }, 100)), u(v), e._block_next_stop ? (e._block_next_stop = !1, v.preventDefault && v.preventDefault(), v.cancelBubble = !0, !1) : void 0;
1064
1064
  }), e.event(document.body, h[2], u);
1065
1065
  }, e._show_global_tip = function() {
1066
1066
  e._hide_global_tip();
@@ -1088,122 +1088,111 @@ function ke(e) {
1088
1088
  return !0;
1089
1089
  if (a !== void 0)
1090
1090
  return a;
1091
- var _ = document.createElement("div");
1092
- _.style.position = "absolute", _.style.left = "-9999px", _.style.top = "-9999px", _.innerHTML = "<div class='dhx_cal_container'><div class='dhx_cal_data'><div class='dhx_cal_event'><div class='dhx_body'></div></div><div>", document.body.appendChild(_);
1093
- var o = window.getComputedStyle(_.querySelector(".dhx_body")).getPropertyValue("box-sizing");
1094
- document.body.removeChild(_), (a = o === "border-box") || setTimeout(function() {
1091
+ var o = document.createElement("div");
1092
+ o.style.position = "absolute", o.style.left = "-9999px", o.style.top = "-9999px", o.innerHTML = "<div class='dhx_cal_container'><div class='dhx_cal_data'><div class='dhx_cal_event'><div class='dhx_body'></div></div><div>", document.body.appendChild(o);
1093
+ var t = window.getComputedStyle(o.querySelector(".dhx_body")).getPropertyValue("box-sizing");
1094
+ document.body.removeChild(o), (a = t === "border-box") || setTimeout(function() {
1095
1095
  a = void 0;
1096
1096
  }, 1e3);
1097
1097
  }
1098
1098
  function d() {
1099
1099
  if (!e._is_material_skin() && !e._border_box_events()) {
1100
- var _ = a;
1101
- a = void 0, h = void 0, _ !== i() && e.$container && e.getState().mode && e.setCurrentView();
1100
+ var o = a;
1101
+ a = void 0, h = void 0, o !== i() && e.$container && e.getState().mode && e.setCurrentView();
1102
1102
  }
1103
1103
  }
1104
- function n(_) {
1105
- var o = _.getMinutes();
1106
- return o = o < 10 ? "0" + o : o, "<span class='dhx_scale_h'>" + _.getHours() + "</span><span class='dhx_scale_m'>&nbsp;" + o + "</span>";
1104
+ function n(o) {
1105
+ var t = o.getMinutes();
1106
+ return t = t < 10 ? "0" + t : t, "<span class='dhx_scale_h'>" + o.getHours() + "</span><span class='dhx_scale_m'>&nbsp;" + t + "</span>";
1107
1107
  }
1108
1108
  e._addThemeClass = function() {
1109
1109
  document.documentElement.setAttribute("data-scheduler-theme", e.skin);
1110
1110
  }, e._skin_settings = { fix_tab_position: [1, 0], use_select_menu_space: [1, 0], wide_form: [1, 0], hour_size_px: [44, 42], displayed_event_color: ["#ff4a4a", "ffc5ab"], displayed_event_text_color: ["#ffef80", "7e2727"] }, e._skin_xy = { lightbox_additional_height: [90, 50], nav_height: [59, 22], bar_height: [24, 20] }, e._is_material_skin = function() {
1111
1111
  return e.skin ? (e.skin + "").indexOf("material") > -1 : function() {
1112
1112
  if (h === void 0) {
1113
- var _ = document.createElement("div");
1114
- _.style.position = "absolute", _.style.left = "-9999px", _.style.top = "-9999px", _.innerHTML = "<div class='dhx_cal_container'><div class='dhx_cal_scale_placeholder'></div><div>", document.body.appendChild(_);
1115
- var o = window.getComputedStyle(_.querySelector(".dhx_cal_scale_placeholder")).getPropertyValue("position");
1116
- h = o === "absolute", setTimeout(function() {
1117
- h = null, _ && _.parentNode && _.parentNode.removeChild(_);
1113
+ var o = document.createElement("div");
1114
+ o.style.position = "absolute", o.style.left = "-9999px", o.style.top = "-9999px", o.innerHTML = "<div class='dhx_cal_container'><div class='dhx_cal_scale_placeholder'></div><div>", document.body.appendChild(o);
1115
+ var t = window.getComputedStyle(o.querySelector(".dhx_cal_scale_placeholder")).getPropertyValue("position");
1116
+ h = t === "absolute", setTimeout(function() {
1117
+ h = null, o && o.parentNode && o.parentNode.removeChild(o);
1118
1118
  }, 500);
1119
1119
  }
1120
1120
  return h;
1121
1121
  }();
1122
1122
  }, e._build_skin_info = function() {
1123
- const _ = getComputedStyle(this.$container), o = _.getPropertyValue("--dhx-scheduler-theme");
1124
- let t, r = !!o, s = {}, c = !1;
1125
- if (r) {
1126
- t = o;
1127
- for (let u in e.xy)
1128
- s[u] = _.getPropertyValue(`--dhx-scheduler-xy-${u}`);
1129
- s.hour_size_px = _.getPropertyValue("--dhx-scheduler-config-hour_size_px"), s.wide_form = _.getPropertyValue("--dhx-scheduler-config-form_wide");
1123
+ (function() {
1124
+ const v = e.$container;
1125
+ clearInterval(_), v && (_ = setInterval(() => {
1126
+ const m = getComputedStyle(v).getPropertyValue("--dhx-scheduler-theme");
1127
+ m && m !== e.skin && e.setSkin(m);
1128
+ }, 100));
1129
+ })();
1130
+ const o = getComputedStyle(this.$container), t = o.getPropertyValue("--dhx-scheduler-theme");
1131
+ let r, s = !!t, c = {}, u = !1;
1132
+ if (s) {
1133
+ r = t;
1134
+ for (let v in e.xy)
1135
+ c[v] = o.getPropertyValue(`--dhx-scheduler-xy-${v}`);
1136
+ c.hour_size_px = o.getPropertyValue("--dhx-scheduler-config-hour_size_px"), c.wide_form = o.getPropertyValue("--dhx-scheduler-config-form_wide");
1130
1137
  } else
1131
- t = function() {
1132
- for (var u = document.getElementsByTagName("link"), m = 0; m < u.length; m++) {
1133
- var v = u[m].href.match("dhtmlxscheduler_([a-z]+).css");
1134
- if (v)
1135
- return v[1];
1138
+ r = function() {
1139
+ for (var v = document.getElementsByTagName("link"), m = 0; m < v.length; m++) {
1140
+ var l = v[m].href.match("dhtmlxscheduler_([a-z]+).css");
1141
+ if (l)
1142
+ return l[1];
1136
1143
  }
1137
- }(), c = e._is_material_skin();
1138
- if (e._theme_info = { theme: t, cssVarTheme: r, oldMaterialTheme: c, values: s }, e._theme_info.cssVarTheme) {
1139
- const u = this._theme_info.values;
1144
+ }(), u = e._is_material_skin();
1145
+ if (e._theme_info = { theme: r, cssVarTheme: s, oldMaterialTheme: u, values: c }, e._theme_info.cssVarTheme) {
1146
+ const v = this._theme_info.values;
1140
1147
  for (let m in e.xy)
1141
- isNaN(parseInt(u[m])) || (e.xy[m] = parseInt(u[m]));
1148
+ isNaN(parseInt(v[m])) || (e.xy[m] = parseInt(v[m]));
1142
1149
  }
1143
- }, e._is_new_skin = function() {
1144
- return e._theme_info.cssVarTheme;
1145
- }, window.addEventListener("DOMContentLoaded", d), window.addEventListener("load", d), e._border_box_events = function() {
1150
+ }, e.event(window, "DOMContentLoaded", d), e.event(window, "load", d), e._border_box_events = function() {
1146
1151
  return i();
1147
- }, e._configure = function(_, o, t) {
1148
- for (var r in o)
1149
- _[r] === void 0 && (_[r] = o[r][t]);
1150
- }, e.setSkin = function(_) {
1151
- this.skin = _, e._addThemeClass(), e.$container && (this._skin_init(), this.render());
1152
- }, e._skin_init = function() {
1153
- if (this._build_skin_info(), this.skin || (this.skin = this._theme_info.theme), e._addThemeClass(), e.skin === "flat" ? e.templates.hour_scale = n : e.templates.hour_scale === n && (e.templates.hour_scale = e.date.date_to_str(e.config.hour_date)), !this._theme_info.cssVarTheme) {
1154
- var _ = 0;
1155
- if (!e.skin || e.skin !== "classic" && e.skin !== "glossy" || (_ = 1), e._is_material_skin()) {
1156
- var o = e.config.buttons_left.$initial, t = e.config.buttons_right.$initial;
1157
- if (o && e.config.buttons_left.slice().join() == o && t && e.config.buttons_right.slice().join() == t) {
1158
- var r = e.config.buttons_left.slice();
1159
- e.config.buttons_left = e.config.buttons_right.slice(), e.config.buttons_right = r;
1160
- }
1161
- e.xy.event_header_height = 18, e.xy.week_agenda_scale_height = 35, e.xy.map_icon_width = 38, e._lightbox_controls.defaults.textarea.height = 64, e._lightbox_controls.defaults.time.height = "auto";
1162
- }
1163
- if (this._configure(e.config, e._skin_settings, _), this._configure(e.xy, e._skin_xy, _), e.skin === "flat" && (e.xy.scale_height = 35, e.templates.hour_scale = function(c) {
1164
- var u = c.getMinutes();
1165
- return u = u < 10 ? "0" + u : u, "<span class='dhx_scale_h'>" + c.getHours() + "</span><span class='dhx_scale_m'>&nbsp;" + u + "</span>";
1166
- }), _)
1167
- return;
1168
- }
1169
- if (!this._theme_info.cssVarTheme) {
1170
- var s = e.config.minicalendar;
1171
- s && (s.padding = 14);
1172
- }
1173
- e.attachEvent("onTemplatesReady", function() {
1174
- var c = e.date.date_to_str("%d");
1152
+ }, e._configure = function(o, t, r) {
1153
+ for (var s in t)
1154
+ o[s] === void 0 && (o[s] = t[s][r]);
1155
+ }, e.setSkin = function(o) {
1156
+ this.skin = o, e._addThemeClass(), e.$container && (this._skin_init(), this.render());
1157
+ };
1158
+ let _ = null;
1159
+ e.attachEvent("onDestroy", function() {
1160
+ clearInterval(_);
1161
+ }), e._skin_init = function() {
1162
+ this._build_skin_info(), this.skin || (this.skin = this._theme_info.theme), e._addThemeClass(), e.skin === "flat" ? e.templates.hour_scale = n : e.templates.hour_scale === n && (e.templates.hour_scale = e.date.date_to_str(e.config.hour_date)), e.attachEvent("onTemplatesReady", function() {
1163
+ var o = e.date.date_to_str("%d");
1175
1164
  e.templates._old_month_day || (e.templates._old_month_day = e.templates.month_day);
1176
- var u = e.templates._old_month_day;
1177
- e.templates.month_day = function(m) {
1165
+ var t = e.templates._old_month_day;
1166
+ e.templates.month_day = function(r) {
1178
1167
  if (this._mode == "month") {
1179
- var v = c(m);
1180
- return m.getDate() == 1 && (v = e.locale.date.month_full[m.getMonth()] + " " + v), +m == +e.date.date_part(this._currentDate()) && (v = e.locale.labels.dhx_cal_today_button + " " + v), v;
1168
+ var s = o(r);
1169
+ return r.getDate() == 1 && (s = e.locale.date.month_full[r.getMonth()] + " " + s), +r == +e.date.date_part(this._currentDate()) && (s = e.locale.labels.dhx_cal_today_button + " " + s), s;
1181
1170
  }
1182
- return u.call(this, m);
1183
- }, e.config.fix_tab_position && (e._els.dhx_cal_navline[0].querySelectorAll("[data-tab]").forEach((m) => {
1184
- switch (m.getAttribute("data-tab") || m.getAttribute("name")) {
1171
+ return t.call(this, r);
1172
+ }, e.config.fix_tab_position && (e._els.dhx_cal_navline[0].querySelectorAll("[data-tab]").forEach((r) => {
1173
+ switch (r.getAttribute("data-tab") || r.getAttribute("name")) {
1185
1174
  case "day":
1186
1175
  case "day_tab":
1187
- m.classList.add("dhx_cal_tab_first"), m.classList.add("dhx_cal_tab_segmented");
1176
+ r.classList.add("dhx_cal_tab_first"), r.classList.add("dhx_cal_tab_segmented");
1188
1177
  break;
1189
1178
  case "week":
1190
1179
  case "week_tab":
1191
- m.classList.add("dhx_cal_tab_segmented");
1180
+ r.classList.add("dhx_cal_tab_segmented");
1192
1181
  break;
1193
1182
  case "month":
1194
1183
  case "month_tab":
1195
- m.classList.add("dhx_cal_tab_last"), m.classList.add("dhx_cal_tab_segmented");
1184
+ r.classList.add("dhx_cal_tab_last"), r.classList.add("dhx_cal_tab_segmented");
1196
1185
  break;
1197
1186
  default:
1198
- m.classList.add("dhx_cal_tab_standalone");
1187
+ r.classList.add("dhx_cal_tab_standalone");
1199
1188
  }
1200
- }), function(m) {
1189
+ }), function(r) {
1201
1190
  if (e.config.header)
1202
1191
  return;
1203
- const v = Array.from(m.querySelectorAll(".dhx_cal_tab")), l = ["day", "week", "month"].map((g) => v.find((p) => p.getAttribute("data-tab") === g)).filter((g) => g !== void 0);
1204
- let f = v.length > 0 ? v[0] : null;
1205
- l.reverse().forEach((g) => {
1206
- m.insertBefore(g, f), f = g;
1192
+ const s = Array.from(r.querySelectorAll(".dhx_cal_tab")), c = ["day", "week", "month"].map((v) => s.find((m) => m.getAttribute("data-tab") === v)).filter((v) => v !== void 0);
1193
+ let u = s.length > 0 ? s[0] : null;
1194
+ c.reverse().forEach((v) => {
1195
+ r.insertBefore(v, u), u = v;
1207
1196
  });
1208
1197
  }(e._els.dhx_cal_navline[0]));
1209
1198
  }, { once: !0 });
@@ -1241,7 +1230,7 @@ function De(e) {
1241
1230
  var h = "data-dhxbox", a = null;
1242
1231
  function i(g, p) {
1243
1232
  var y = g.callback;
1244
- v.hide(g.box), a = g.box = null, y && y(p);
1233
+ m.hide(g.box), a = g.box = null, y && y(p);
1245
1234
  }
1246
1235
  function d(g) {
1247
1236
  if (a) {
@@ -1292,7 +1281,7 @@ function De(e) {
1292
1281
  }(g, p, y);
1293
1282
  g.hidden || n(!0), document.body.appendChild(w);
1294
1283
  var b = Math.abs(Math.floor(((window.innerWidth || document.documentElement.offsetWidth) - w.offsetWidth) / 2)), k = Math.abs(Math.floor(((window.innerHeight || document.documentElement.offsetHeight) - w.offsetHeight) / 2));
1295
- return g.position == "top" ? w.style.top = "-3px" : w.style.top = k + "px", w.style.left = b + "px", e.event(w, "keydown", d), v.focus(w), g.hidden && v.hide(w), e.callEvent("onMessagePopup", [w]), w;
1284
+ return g.position == "top" ? w.style.top = "-3px" : w.style.top = k + "px", w.style.left = b + "px", e.event(w, "keydown", d), m.focus(w), g.hidden && m.hide(w), e.callEvent("onMessagePopup", [w]), w;
1296
1285
  }
1297
1286
  function r(g) {
1298
1287
  return t(g, !0, !1);
@@ -1306,26 +1295,26 @@ function De(e) {
1306
1295
  function u(g, p, y) {
1307
1296
  return typeof g != "object" && (typeof p == "function" && (y = p, p = ""), g = { text: g, type: p, callback: y }), g;
1308
1297
  }
1309
- function m(g, p, y, w) {
1298
+ function v(g, p, y, w) {
1310
1299
  return typeof g != "object" && (g = { text: g, type: p, expire: y, id: w }), g.id = g.id || I.uid(), g.expire = g.expire || l.expire, g;
1311
1300
  }
1312
1301
  e.event(document, "keydown", d, !0);
1313
- var v = function() {
1302
+ var m = function() {
1314
1303
  var g = u.apply(this, arguments);
1315
1304
  return g.type = g.type || "alert", c(g);
1316
1305
  };
1317
- v.hide = function(g) {
1306
+ m.hide = function(g) {
1318
1307
  for (; g && g.getAttribute && !g.getAttribute(h); )
1319
1308
  g = g.parentNode;
1320
1309
  g && (g.parentNode.removeChild(g), n(!1), e.callEvent("onAfterMessagePopup", [g]));
1321
- }, v.focus = function(g) {
1310
+ }, m.focus = function(g) {
1322
1311
  setTimeout(function() {
1323
1312
  var p = q.getFocusableNodes(g);
1324
1313
  p.length && p[0].focus && p[0].focus();
1325
1314
  }, 1);
1326
1315
  };
1327
1316
  var l = function(g, p, y, w) {
1328
- switch ((g = m.apply(this, arguments)).type = g.type || "info", g.type.split("-")[0]) {
1317
+ switch ((g = v.apply(this, arguments)).type = g.type || "info", g.type.split("-")[0]) {
1329
1318
  case "alert":
1330
1319
  return r(g);
1331
1320
  case "confirm":
@@ -1370,7 +1359,7 @@ function De(e) {
1370
1359
  }, confirm: function() {
1371
1360
  var g = u.apply(this, arguments);
1372
1361
  return g.type = g.type || "alert", s(g);
1373
- }, message: l, modalbox: v };
1362
+ }, message: l, modalbox: m };
1374
1363
  }
1375
1364
  G.prototype = { setTransactionMode: function(e, h) {
1376
1365
  typeof e == "object" ? (this._tMode = e.mode || this._tMode, e.headers !== void 0 && (this._headers = e.headers), e.payload !== void 0 && (this._payload = e.payload), this._tSend = !!h) : (this._tMode = e, this._tSend = h), this._tMode == "REST" && (this._tSend = !1, this._endnm = !0), this._tMode === "JSON" || this._tMode === "REST-JSON" ? (this._tSend = !1, this._endnm = !0, this._serializeAsJson = !0, this._headers = this._headers || {}, this._headers["Content-Type"] = "application/json") : this._headers && !this._headers["Content-Type"] && (this._headers["Content-Type"] = "application/x-www-form-urlencoded"), this._tMode === "CUSTOM" && (this._tSend = !1, this._endnm = !0, this._router = e.router);
@@ -1457,14 +1446,14 @@ G.prototype = { setTransactionMode: function(e, h) {
1457
1446
  h && (this._in_progress[h] = (/* @__PURE__ */ new Date()).valueOf());
1458
1447
  var a = this, i = this.$scheduler.ajax;
1459
1448
  if (this._tMode !== "CUSTOM") {
1460
- var d, n = { callback: function(v) {
1449
+ var d, n = { callback: function(m) {
1461
1450
  var l = [];
1462
1451
  if (h)
1463
1452
  l.push(h);
1464
1453
  else if (e)
1465
1454
  for (var f in e)
1466
1455
  l.push(f);
1467
- return a.afterUpdate(a, v, l);
1456
+ return a.afterUpdate(a, m, l);
1468
1457
  }, headers: a._headers }, _ = this.serverProcessor + (this._user ? i.urlSeparator(this.serverProcessor) + ["dhx_user=" + this._user, "dhx_version=" + this.$scheduler.getUserData(0, "version")].join("&") : ""), o = this._applyPayload(_);
1469
1458
  switch (this._tMode) {
1470
1459
  case "GET":
@@ -1510,27 +1499,27 @@ G.prototype = { setTransactionMode: function(e, h) {
1510
1499
  var g = h, p = h;
1511
1500
  l && (f = l.action || f, g = l.sid || g, p = l.id || l.tid || p), a.afterUpdateCallback(g, p, f, l);
1512
1501
  };
1513
- const v = "event";
1514
- var m;
1502
+ const m = "event";
1503
+ var v;
1515
1504
  if (this._router instanceof Function)
1516
- m = this._router(v, c, e, h);
1505
+ v = this._router(m, c, e, h);
1517
1506
  else
1518
1507
  switch (s) {
1519
1508
  case "inserted":
1520
- m = this._router[v].create(e);
1509
+ v = this._router[m].create(e);
1521
1510
  break;
1522
1511
  case "deleted":
1523
- m = this._router[v].delete(h);
1512
+ v = this._router[m].delete(h);
1524
1513
  break;
1525
1514
  default:
1526
- m = this._router[v].update(e, h);
1515
+ v = this._router[m].update(e, h);
1527
1516
  }
1528
- if (m) {
1529
- if (!m.then && m.id === void 0 && m.tid === void 0 && m.action === void 0)
1517
+ if (v) {
1518
+ if (!v.then && v.id === void 0 && v.tid === void 0 && v.action === void 0)
1530
1519
  throw new Error("Incorrect router return value. A Promise or a response object is expected");
1531
- m.then ? m.then(u).catch(function(l) {
1520
+ v.then ? v.then(u).catch(function(l) {
1532
1521
  l && l.action ? u(l) : u({ action: "error", value: l });
1533
- }) : u(m);
1522
+ }) : u(v);
1534
1523
  } else
1535
1524
  u(null);
1536
1525
  }
@@ -1667,15 +1656,18 @@ G.prototype = { setTransactionMode: function(e, h) {
1667
1656
  }, setOnBeforeUpdateHandler: function(e) {
1668
1657
  this.attachEvent("onBeforeDataSending", e);
1669
1658
  }, setAutoUpdate: function(e, h) {
1670
- e = e || 2e3, this._user = h || (/* @__PURE__ */ new Date()).valueOf(), this._need_update = !1, this._update_busy = !1, this.attachEvent("onAfterUpdate", function(i, d, n, _) {
1671
- this.afterAutoUpdate(i, d, n, _);
1659
+ e = e || 2e3, this._user = h || (/* @__PURE__ */ new Date()).valueOf(), this._need_update = !1, this._update_busy = !1, this.attachEvent("onAfterUpdate", function(d, n, _, o) {
1660
+ this.afterAutoUpdate(d, n, _, o);
1672
1661
  }), this.attachEvent("onFullSync", function() {
1673
1662
  this.fullSync();
1674
1663
  });
1675
1664
  var a = this;
1676
- B.setInterval(function() {
1665
+ let i = B.setInterval(function() {
1677
1666
  a.loadUpdate();
1678
1667
  }, e);
1668
+ this.attachEvent("onDestroy", function() {
1669
+ clearInterval(i);
1670
+ });
1679
1671
  }, afterAutoUpdate: function(e, h, a, i) {
1680
1672
  return h != "collision" || (this._need_update = !0, !1);
1681
1673
  }, fullSync: function() {
@@ -1746,7 +1738,7 @@ G.prototype = { setTransactionMode: function(e, h) {
1746
1738
  var h = this.$scheduler.getEvent(e);
1747
1739
  return h || (h = { id: e }), this._prepareDataItem(h);
1748
1740
  } };
1749
- const Se = { date: { month_full: ["كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"], month_short: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_full: ["الأحد", "الأثنين", "ألثلاثاء", "الأربعاء", "ألحميس", "ألجمعة", "السبت"], day_short: ["احد", "اثنين", "ثلاثاء", "اربعاء", "خميس", "جمعة", "سبت"] }, labels: { dhx_cal_today_button: "اليوم", day_tab: "يوم", week_tab: "أسبوع", month_tab: "شهر", new_event: "حدث جديد", icon_save: "اخزن", icon_cancel: "الغاء", icon_details: "تفاصيل", icon_edit: "تحرير", icon_delete: "حذف", confirm_closing: "التغييرات سوف تضيع, هل انت متأكد؟", confirm_deleting: "الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟", section_description: "الوصف", section_time: "الفترة الزمنية", full_day: "طوال اليوم", confirm_recurring: "هل تريد تحرير مجموعة كاملة من الأحداث المتكررة؟", section_recurring: "تكرار الحدث", button_recurring: "تعطيل", button_recurring_open: "تمكين", button_edit_series: "تحرير سلسلة", button_edit_occurrence: "تعديل نسخة", grid_tab: "جدول", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Ne = { date: { month_full: ["Студзень", "Люты", "Сакавік", "Красавік", "Maй", "Чэрвень", "Ліпень", "Жнівень", "Верасень", "Кастрычнік", "Лістапад", "Снежань"], month_short: ["Студз", "Лют", "Сак", "Крас", "Maй", "Чэр", "Ліп", "Жнів", "Вер", "Каст", "Ліст", "Снеж"], day_full: ["Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"], day_short: ["Нд", "Пн", "Аўт", "Ср", "Чцв", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сёння", day_tab: "Дзень", week_tab: "Тыдзень", month_tab: "Месяц", new_event: "Новая падзея", icon_save: "Захаваць", icon_cancel: "Адмяніць", icon_details: "Дэталі", icon_edit: "Змяніць", icon_delete: "Выдаліць", confirm_closing: "", confirm_deleting: "Падзея будзе выдалена незваротна, працягнуць?", section_description: "Апісанне", section_time: "Перыяд часу", full_day: "Увесь дзень", confirm_recurring: "Вы хочаце змяніць усю серыю паўтаральных падзей?", section_recurring: "Паўтарэнне", button_recurring: "Адключана", button_recurring_open: "Уключана", button_edit_series: "Рэдагаваць серыю", button_edit_occurrence: "Рэдагаваць асобнік", agenda_tab: "Спіс", date: "Дата", description: "Апісанне", year_tab: "Год", week_agenda_tab: "Спіс", grid_tab: "Спic", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Дзень", repeat_radio_week: "Тыдзень", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Кожны", repeat_text_day_count: "дзень", repeat_radio_day_type2: "Кожны працоўны дзень", repeat_week: " Паўтараць кожны", repeat_text_week_count: "тыдзень", repeat_radio_month_type: "Паўтараць", repeat_radio_month_start: "", repeat_text_month_day: " чысла кожнага", repeat_text_month_count: "месяцу", repeat_text_month_count2_before: "кожны ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "дзень", select_year_month: "", repeat_radio_end: "Без даты заканчэння", repeat_text_occurences_count: "паўтораў", repeat_radio_end2: "", repeat_radio_end3: "Да ", month_for_recurring: ["Студзеня", "Лютага", "Сакавіка", "Красавіка", "Мая", "Чэрвеня", "Ліпeня", "Жніўня", "Верасня", "Кастрычніка", "Лістапада", "Снежня"], day_for_recurring: ["Нядзелю", "Панядзелак", "Аўторак", "Сераду", "Чацвер", "Пятніцу", "Суботу"] } }, Me = { date: { month_full: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], month_short: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], day_full: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"], day_short: ["Dg", "Dl", "Dm", "Dc", "Dj", "Dv", "Ds"] }, labels: { dhx_cal_today_button: "Hui", day_tab: "Dia", week_tab: "Setmana", month_tab: "Mes", new_event: "Nou esdeveniment", icon_save: "Guardar", icon_cancel: "Cancel·lar", icon_details: "Detalls", icon_edit: "Editar", icon_delete: "Esborrar", confirm_closing: "", confirm_deleting: "L'esdeveniment s'esborrarà definitivament, continuar ?", section_description: "Descripció", section_time: "Periode de temps", full_day: "Tot el dia", confirm_recurring: "¿Desitja modificar el conjunt d'esdeveniments repetits?", section_recurring: "Repeteixca l'esdeveniment", button_recurring: "Impedit", button_recurring_open: "Permés", button_edit_series: "Edit sèrie", button_edit_occurrence: "Edita Instància", agenda_tab: "Agenda", date: "Data", description: "Descripció", year_tab: "Any", week_agenda_tab: "Agenda", grid_tab: "Taula", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Ae = { date: { month_full: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], day_short: ["日", "一", "二", "三", "四", "五", "六"] }, labels: { dhx_cal_today_button: "今天", day_tab: "日", week_tab: "周", month_tab: "月", new_event: "新建日程", icon_save: "保存", icon_cancel: "关闭", icon_details: "详细", icon_edit: "编辑", icon_delete: "删除", confirm_closing: "请确认是否撤销修改!", confirm_deleting: "是否删除日程?", section_description: "描述", section_time: "时间范围", full_day: "整天", confirm_recurring: "请确认是否将日程设为重复模式?", section_recurring: "重复周期", button_recurring: "禁用", button_recurring_open: "启用", button_edit_series: "编辑系列", button_edit_occurrence: "编辑实例", agenda_tab: "议程", date: "日期", description: "说明", year_tab: "今年", week_agenda_tab: "议程", grid_tab: "电网", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "按天", repeat_radio_week: "按周", repeat_radio_month: "按月", repeat_radio_year: "按年", repeat_radio_day_type: "每", repeat_text_day_count: "天", repeat_radio_day_type2: "每个工作日", repeat_week: " 重复 每", repeat_text_week_count: "星期的:", repeat_radio_month_type: "重复", repeat_radio_month_start: "在", repeat_text_month_day: "日 每", repeat_text_month_count: "月", repeat_text_month_count2_before: "每", repeat_text_month_count2_after: "月", repeat_year_label: "在", select_year_day2: "的", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "无结束日期", repeat_text_occurences_count: "次结束", repeat_radio_end2: "重复", repeat_radio_end3: "结束于", month_for_recurring: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], day_for_recurring: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] } }, Ce = { date: { month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"], day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], day_short: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Den", week_tab: "Týden", month_tab: "Měsíc", new_event: "Nová událost", icon_save: "Uložit", icon_cancel: "Zpět", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Smazat", confirm_closing: "", confirm_deleting: "Událost bude trvale smazána, opravdu?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Přejete si upravit celou řadu opakovaných událostí?", section_recurring: "Opakování události", button_recurring: "Vypnuto", button_recurring_open: "Zapnuto", button_edit_series: "Edit series", button_edit_occurrence: "Upravit instance", agenda_tab: "Program", date: "Datum", description: "Poznámka", year_tab: "Rok", full_day: "Full day", week_agenda_tab: "Program", grid_tab: "Mřížka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denně", repeat_radio_week: "Týdně", repeat_radio_month: "Měsíčně", repeat_radio_year: "Ročně", repeat_radio_day_type: "každý", repeat_text_day_count: "Den", repeat_radio_day_type2: "pracovní dny", repeat_week: "Opakuje každých", repeat_text_week_count: "Týdnů na:", repeat_radio_month_type: "u každého", repeat_radio_month_start: "na", repeat_text_month_day: "Den každého", repeat_text_month_count: "Měsíc", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "Měsíc", repeat_year_label: "na", select_year_day2: "v", repeat_text_year_day: "Den v", select_year_month: "", repeat_radio_end: "bez data ukončení", repeat_text_occurences_count: "Události", repeat_radio_end2: "po", repeat_radio_end3: "Konec", month_for_recurring: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], day_for_recurring: ["Neděle ", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"] } }, Te = { date: { month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uge", month_tab: "Måned", new_event: "Ny begivenhed", icon_save: "Gem", icon_cancel: "Fortryd", icon_details: "Detaljer", icon_edit: "Tilret", icon_delete: "Slet", confirm_closing: "Dine rettelser vil gå tabt.. Er dy sikker?", confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du tilrette hele serien af gentagne begivenheder?", section_recurring: "Gentag begivenhed", button_recurring: "Frakoblet", button_recurring_open: "Tilkoblet", button_edit_series: "Rediger serien", button_edit_occurrence: "Rediger en kopi", agenda_tab: "Dagsorden", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Dagsorden", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ugenlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "På hver arbejdsdag", repeat_week: " Gentager sig hver", repeat_text_week_count: "uge på følgende dage:", repeat_radio_month_type: "Hver den", repeat_radio_month_start: "Den", repeat_text_month_day: " i hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen slutdato", repeat_text_occurences_count: "gentagelse", repeat_radio_end2: "Efter", repeat_radio_end3: "Slut", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } }, Oe = { date: { month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"], month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], day_full: ["Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"], day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] }, labels: { dhx_cal_today_button: "Heute", day_tab: "Tag", week_tab: "Woche", month_tab: "Monat", new_event: "neuer Eintrag", icon_save: "Speichern", icon_cancel: "Abbrechen", icon_details: "Details", icon_edit: "Ändern", icon_delete: "Löschen", confirm_closing: "", confirm_deleting: "Der Eintrag wird gelöscht", section_description: "Beschreibung", section_time: "Zeitspanne", full_day: "Ganzer Tag", confirm_recurring: "Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?", section_recurring: "Wiederholung", button_recurring: "Aus", button_recurring_open: "An", button_edit_series: "Bearbeiten Sie die Serie", button_edit_occurrence: "Bearbeiten Sie eine Kopie", agenda_tab: "Agenda", date: "Datum", description: "Beschreibung", year_tab: "Jahre", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Täglich", repeat_radio_week: "Wöchentlich", repeat_radio_month: "Monatlich", repeat_radio_year: "Jährlich", repeat_radio_day_type: "jeden", repeat_text_day_count: "Tag", repeat_radio_day_type2: "an jedem Arbeitstag", repeat_week: " Wiederholt sich jede", repeat_text_week_count: "Woche am:", repeat_radio_month_type: "an jedem", repeat_radio_month_start: "am", repeat_text_month_day: "Tag eines jeden", repeat_text_month_count: "Monats", repeat_text_month_count2_before: "jeden", repeat_text_month_count2_after: "Monats", repeat_year_label: "am", select_year_day2: "im", repeat_text_year_day: "Tag im", select_year_month: "", repeat_radio_end: "kein Enddatum", repeat_text_occurences_count: "Ereignissen", repeat_radio_end3: "Schluß", repeat_radio_end2: "nach", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] } }, He = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Κυριακή"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } }, Le = { date: { month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, labels: { dhx_cal_today_button: "Today", day_tab: "Day", week_tab: "Week", month_tab: "Month", new_event: "New event", icon_save: "Save", icon_cancel: "Cancel", icon_details: "Details", icon_edit: "Edit", icon_delete: "Delete", confirm_closing: "", confirm_deleting: "Event will be deleted permanently, are you sure?", section_description: "Description", section_time: "Time period", full_day: "Full day", confirm_recurring: "Do you want to edit the whole set of repeated events?", section_recurring: "Repeat event", button_recurring: "Disabled", button_recurring_open: "Enabled", button_edit_series: "Edit series", button_edit_occurrence: "Edit occurrence", agenda_tab: "Agenda", date: "Date", description: "Description", year_tab: "Year", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daily", repeat_radio_week: "Weekly", repeat_radio_month: "Monthly", repeat_radio_year: "Yearly", repeat_radio_day_type: "Every", repeat_text_day_count: "day", repeat_radio_day_type2: "Every workday", repeat_week: " Repeat every", repeat_text_week_count: "week next days:", repeat_radio_month_type: "Repeat", repeat_radio_month_start: "On", repeat_text_month_day: "day every", repeat_text_month_count: "month", repeat_text_month_count2_before: "every", repeat_text_month_count2_after: "month", repeat_year_label: "On", select_year_day2: "of", repeat_text_year_day: "day", select_year_month: "month", repeat_radio_end: "No end date", repeat_text_occurences_count: "occurrences", repeat_radio_end2: "After", repeat_radio_end3: "End by", month_for_recurring: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], day_for_recurring: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] } }, $e = { date: { month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"] }, labels: { dhx_cal_today_button: "Hoy", day_tab: "Día", week_tab: "Semana", month_tab: "Mes", new_event: "Nuevo evento", icon_save: "Guardar", icon_cancel: "Cancelar", icon_details: "Detalles", icon_edit: "Editar", icon_delete: "Eliminar", confirm_closing: "", confirm_deleting: "El evento se borrará definitivamente, ¿continuar?", section_description: "Descripción", section_time: "Período", full_day: "Todo el día", confirm_recurring: "¿Desea modificar el conjunto de eventos repetidos?", section_recurring: "Repita el evento", button_recurring: "Impedido", button_recurring_open: "Permitido", button_edit_series: "Editar la serie", button_edit_occurrence: "Editar este evento", agenda_tab: "Día", date: "Fecha", description: "Descripción", year_tab: "Año", week_agenda_tab: "Día", grid_tab: "Reja", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diariamente", repeat_radio_week: "Semanalmente", repeat_radio_month: "Mensualmente", repeat_radio_year: "Anualmente", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada jornada de trabajo", repeat_week: " Repetir cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repita", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada ", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "del", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sin fecha de finalización", repeat_text_occurences_count: "ocurrencias", repeat_radio_end3: "Fin", repeat_radio_end2: "Después de", month_for_recurring: ["Enero", "Febrero", "Маrzo", "Аbril", "Mayo", "Junio", "Julio", "Аgosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"], day_for_recurring: ["Domingo", "Lunes", "Martes", "Miércoles", "Jeuves", "Viernes", "Sabado"] } }, ze = { date: { month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"], day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"] }, labels: { dhx_cal_today_button: "Tänään", day_tab: "Päivä", week_tab: "Viikko", month_tab: "Kuukausi", new_event: "Uusi tapahtuma", icon_save: "Tallenna", icon_cancel: "Peru", icon_details: "Tiedot", icon_edit: "Muokkaa", icon_delete: "Poista", confirm_closing: "", confirm_deleting: "Haluatko varmasti poistaa tapahtuman?", section_description: "Kuvaus", section_time: "Aikajakso", full_day: "Koko päivä", confirm_recurring: "Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?", section_recurring: "Toista tapahtuma", button_recurring: "Ei k&auml;yt&ouml;ss&auml;", button_recurring_open: "K&auml;yt&ouml;ss&auml;", button_edit_series: "Muokkaa sarja", button_edit_occurrence: "Muokkaa kopio", agenda_tab: "Esityslista", date: "Päivämäärä", description: "Kuvaus", year_tab: "Vuoden", week_agenda_tab: "Esityslista", grid_tab: "Ritilä", drag_to_create: "Luo uusi vetämällä", drag_to_move: "Siirrä vetämällä", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "P&auml;ivitt&auml;in", repeat_radio_week: "Viikoittain", repeat_radio_month: "Kuukausittain", repeat_radio_year: "Vuosittain", repeat_radio_day_type: "Joka", repeat_text_day_count: "p&auml;iv&auml;", repeat_radio_day_type2: "Joka arkip&auml;iv&auml;", repeat_week: "Toista joka", repeat_text_week_count: "viikko n&auml;in&auml; p&auml;ivin&auml;:", repeat_radio_month_type: "Toista", repeat_radio_month_start: "", repeat_text_month_day: "p&auml;iv&auml;n&auml; joka", repeat_text_month_count: "kuukausi", repeat_text_month_count2_before: "joka", repeat_text_month_count2_after: "kuukausi", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "p&auml;iv&auml;", select_year_month: "kuukausi", repeat_radio_end: "Ei loppumisaikaa", repeat_text_occurences_count: "Toiston j&auml;lkeen", repeat_radio_end3: "Loppuu", repeat_radio_end2: "", month_for_recurring: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], day_for_recurring: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] } }, je = { date: { month_full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], month_short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin", "Juil", "Aoû", "Sep", "Oct", "Nov", "Déc"], day_full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], day_short: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"] }, labels: { dhx_cal_today_button: "Aujourd'hui", day_tab: "Jour", week_tab: "Semaine", month_tab: "Mois", new_event: "Nouvel événement", icon_save: "Enregistrer", icon_cancel: "Annuler", icon_details: "Détails", icon_edit: "Modifier", icon_delete: "Effacer", confirm_closing: "", confirm_deleting: "L'événement sera effacé sans appel, êtes-vous sûr ?", section_description: "Description", section_time: "Période", full_day: "Journée complète", confirm_recurring: "Voulez-vous éditer toute une série d'évènements répétés?", section_recurring: "Périodicité", button_recurring: "Désactivé", button_recurring_open: "Activé", button_edit_series: "Modifier la série", button_edit_occurrence: "Modifier une copie", agenda_tab: "Jour", date: "Date", description: "Description", year_tab: "Année", week_agenda_tab: "Jour", grid_tab: "Grille", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidienne", repeat_radio_week: "Hebdomadaire", repeat_radio_month: "Mensuelle", repeat_radio_year: "Annuelle", repeat_radio_day_type: "Chaque", repeat_text_day_count: "jour", repeat_radio_day_type2: "Chaque journée de travail", repeat_week: " Répéter toutes les", repeat_text_week_count: "semaine:", repeat_radio_month_type: "Répéter", repeat_radio_month_start: "Le", repeat_text_month_day: "jour chaque", repeat_text_month_count: "mois", repeat_text_month_count2_before: "chaque", repeat_text_month_count2_after: "mois", repeat_year_label: "Le", select_year_day2: "du", repeat_text_year_day: "jour", select_year_month: "mois", repeat_radio_end: "Pas de date d&quot;achèvement", repeat_text_occurences_count: "occurrences", repeat_radio_end3: "Fin", repeat_radio_end2: "Après", month_for_recurring: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], day_for_recurring: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] } }, Pe = { date: { month_full: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], month_short: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], day_full: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], day_short: ["א", "ב", "ג", "ד", "ה", "ו", "ש"] }, labels: { dhx_cal_today_button: "היום", day_tab: "יום", week_tab: "שבוע", month_tab: "חודש", new_event: "ארוע חדש", icon_save: "שמור", icon_cancel: "בטל", icon_details: "פרטים", icon_edit: "ערוך", icon_delete: "מחק", confirm_closing: "", confirm_deleting: "ארוע ימחק סופית.להמשיך?", section_description: "תיאור", section_time: "תקופה", confirm_recurring: "האם ברצונך לשנות כל סדרת ארועים מתמשכים?", section_recurring: "להעתיק ארוע", button_recurring: "לא פעיל", button_recurring_open: "פעיל", full_day: "יום שלם", button_edit_series: "ערוך את הסדרה", button_edit_occurrence: "עריכת עותק", agenda_tab: "סדר יום", date: "תאריך", description: "תיאור", year_tab: "לשנה", week_agenda_tab: "סדר יום", grid_tab: "סורג", drag_to_create: "Drag to create", drag_to_move: "גרור כדי להזיז", message_ok: "OK", message_cancel: "בטל", next: "הבא", prev: "הקודם", year: "שנה", month: "חודש", day: "יום", hour: "שעה", minute: "דקה", repeat_radio_day: "יומי", repeat_radio_week: "שבועי", repeat_radio_month: "חודשי", repeat_radio_year: "שנתי", repeat_radio_day_type: "חזור כל", repeat_text_day_count: "ימים", repeat_radio_day_type2: "חזור כל יום עבודה", repeat_week: " חזור כל", repeat_text_week_count: "שבוע לפי ימים:", repeat_radio_month_type: "חזור כל", repeat_radio_month_start: "כל", repeat_text_month_day: "ימים כל", repeat_text_month_count: "חודשים", repeat_text_month_count2_before: "חזור כל", repeat_text_month_count2_after: "חודש", repeat_year_label: "כל", select_year_day2: "בחודש", repeat_text_year_day: "ימים", select_year_month: "חודש", repeat_radio_end: "לעולם לא מסתיים", repeat_text_occurences_count: "אירועים", repeat_radio_end3: "מסתיים ב", repeat_radio_end2: "אחרי", month_for_recurring: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], day_for_recurring: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"] } }, Ve = { date: { month_full: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], month_short: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Vasárnap", "Hétfõ", "Kedd", "Szerda", "Csütörtök", "Péntek", "szombat"], day_short: ["Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo"] }, labels: { dhx_cal_today_button: "Ma", day_tab: "Nap", week_tab: "Hét", month_tab: "Hónap", new_event: "Új esemény", icon_save: "Mentés", icon_cancel: "Mégse", icon_details: "Részletek", icon_edit: "Szerkesztés", icon_delete: "Törlés", confirm_closing: "", confirm_deleting: "Az esemény törölve lesz, biztosan folytatja?", section_description: "Leírás", section_time: "Idõszak", full_day: "Egesz napos", confirm_recurring: "Biztosan szerkeszteni akarod az összes ismétlõdõ esemény beállítását?", section_recurring: "Esemény ismétlése", button_recurring: "Tiltás", button_recurring_open: "Engedélyezés", button_edit_series: "Edit series", button_edit_occurrence: "Szerkesztés bíróság", agenda_tab: "Napirend", date: "Dátum", description: "Leírás", year_tab: "Év", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Ie = { date: { month_full: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], day_full: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], day_short: ["Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"] }, labels: { dhx_cal_today_button: "Hari Ini", day_tab: "Hari", week_tab: "Minggu", month_tab: "Bulan", new_event: "Acara Baru", icon_save: "Simpan", icon_cancel: "Batal", icon_details: "Detail", icon_edit: "Edit", icon_delete: "Hapus", confirm_closing: "", confirm_deleting: "Acara akan dihapus", section_description: "Keterangan", section_time: "Periode", full_day: "Hari penuh", confirm_recurring: "Apakah acara ini akan berulang?", section_recurring: "Acara Rutin", button_recurring: "Tidak Difungsikan", button_recurring_open: "Difungsikan", button_edit_series: "Mengedit seri", button_edit_occurrence: "Mengedit salinan", agenda_tab: "Agenda", date: "Tanggal", description: "Keterangan", year_tab: "Tahun", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Be = { date: { month_full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], month_short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], day_full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], day_short: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"] }, labels: { dhx_cal_today_button: "Oggi", day_tab: "Giorno", week_tab: "Settimana", month_tab: "Mese", new_event: "Nuovo evento", icon_save: "Salva", icon_cancel: "Chiudi", icon_details: "Dettagli", icon_edit: "Modifica", icon_delete: "Elimina", confirm_closing: "", confirm_deleting: "L'evento sarà eliminato, siete sicuri?", section_description: "Descrizione", section_time: "Periodo di tempo", full_day: "Intera giornata", confirm_recurring: "Vuoi modificare l'intera serie di eventi?", section_recurring: "Ripetere l'evento", button_recurring: "Disattivato", button_recurring_open: "Attivato", button_edit_series: "Modificare la serie", button_edit_occurrence: "Modificare una copia", agenda_tab: "Agenda", date: "Data", description: "Descrizione", year_tab: "Anno", week_agenda_tab: "Agenda", grid_tab: "Griglia", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidiano", repeat_radio_week: "Settimanale", repeat_radio_month: "Mensile", repeat_radio_year: "Annuale", repeat_radio_day_type: "Ogni", repeat_text_day_count: "giorno", repeat_radio_day_type2: "Ogni giornata lavorativa", repeat_week: " Ripetere ogni", repeat_text_week_count: "settimana:", repeat_radio_month_type: "Ripetere", repeat_radio_month_start: "Il", repeat_text_month_day: "giorno ogni", repeat_text_month_count: "mese", repeat_text_month_count2_before: "ogni", repeat_text_month_count2_after: "mese", repeat_year_label: "Il", select_year_day2: "del", repeat_text_year_day: "giorno", select_year_month: "mese", repeat_radio_end: "Senza data finale", repeat_text_occurences_count: "occorenze", repeat_radio_end3: "Fine", repeat_radio_end2: "Dopo", month_for_recurring: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Jiugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], day_for_recurring: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Jovedì", "Venerdì", "Sabato"] } }, Re = { date: { month_full: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], day_short: ["日", "月", "火", "水", "木", "金", "土"] }, labels: { dhx_cal_today_button: "今日", day_tab: "日", week_tab: "週", month_tab: "月", new_event: "新イベント", icon_save: "保存", icon_cancel: "キャンセル", icon_details: "詳細", icon_edit: "編集", icon_delete: "削除", confirm_closing: "", confirm_deleting: "イベント完全に削除されます、宜しいですか?", section_description: "デスクリプション", section_time: "期間", confirm_recurring: "繰り返されているイベントを全て編集しますか?", section_recurring: "イベントを繰り返す", button_recurring: "無効", button_recurring_open: "有効", full_day: "終日", button_edit_series: "シリーズを編集します", button_edit_occurrence: "コピーを編集", agenda_tab: "議題は", date: "日付", description: "説明", year_tab: "今年", week_agenda_tab: "議題は", grid_tab: "グリッド", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } };
1741
+ const Se = { date: { month_full: ["كانون الثاني", "شباط", "آذار", "نيسان", "أيار", "حزيران", "تموز", "آب", "أيلول", "تشرين الأول", "تشرين الثاني", "كانون الأول"], month_short: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], day_full: ["الأحد", "الأثنين", "ألثلاثاء", "الأربعاء", "ألحميس", "ألجمعة", "السبت"], day_short: ["احد", "اثنين", "ثلاثاء", "اربعاء", "خميس", "جمعة", "سبت"] }, labels: { dhx_cal_today_button: "اليوم", day_tab: "يوم", week_tab: "أسبوع", month_tab: "شهر", new_event: "حدث جديد", icon_save: "اخزن", icon_cancel: "الغاء", icon_details: "تفاصيل", icon_edit: "تحرير", icon_delete: "حذف", confirm_closing: "التغييرات سوف تضيع, هل انت متأكد؟", confirm_deleting: "الحدث سيتم حذفها نهائيا ، هل أنت متأكد؟", section_description: "الوصف", section_time: "الفترة الزمنية", full_day: "طوال اليوم", confirm_recurring: "هل تريد تحرير مجموعة كاملة من الأحداث المتكررة؟", section_recurring: "تكرار الحدث", button_recurring: "تعطيل", button_recurring_open: "تمكين", button_edit_series: "تحرير سلسلة", button_edit_occurrence: "تعديل نسخة", grid_tab: "جدول", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Ne = { date: { month_full: ["Студзень", "Люты", "Сакавік", "Красавік", "Maй", "Чэрвень", "Ліпень", "Жнівень", "Верасень", "Кастрычнік", "Лістапад", "Снежань"], month_short: ["Студз", "Лют", "Сак", "Крас", "Maй", "Чэр", "Ліп", "Жнів", "Вер", "Каст", "Ліст", "Снеж"], day_full: ["Нядзеля", "Панядзелак", "Аўторак", "Серада", "Чацвер", "Пятніца", "Субота"], day_short: ["Нд", "Пн", "Аўт", "Ср", "Чцв", "Пт", "Сб"] }, labels: { dhx_cal_today_button: "Сёння", day_tab: "Дзень", week_tab: "Тыдзень", month_tab: "Месяц", new_event: "Новая падзея", icon_save: "Захаваць", icon_cancel: "Адмяніць", icon_details: "Дэталі", icon_edit: "Змяніць", icon_delete: "Выдаліць", confirm_closing: "", confirm_deleting: "Падзея будзе выдалена незваротна, працягнуць?", section_description: "Апісанне", section_time: "Перыяд часу", full_day: "Увесь дзень", confirm_recurring: "Вы хочаце змяніць усю серыю паўтаральных падзей?", section_recurring: "Паўтарэнне", button_recurring: "Адключана", button_recurring_open: "Уключана", button_edit_series: "Рэдагаваць серыю", button_edit_occurrence: "Рэдагаваць асобнік", agenda_tab: "Спіс", date: "Дата", description: "Апісанне", year_tab: "Год", week_agenda_tab: "Спіс", grid_tab: "Спic", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Дзень", repeat_radio_week: "Тыдзень", repeat_radio_month: "Месяц", repeat_radio_year: "Год", repeat_radio_day_type: "Кожны", repeat_text_day_count: "дзень", repeat_radio_day_type2: "Кожны працоўны дзень", repeat_week: " Паўтараць кожны", repeat_text_week_count: "тыдзень", repeat_radio_month_type: "Паўтараць", repeat_radio_month_start: "", repeat_text_month_day: " чысла кожнага", repeat_text_month_count: "месяцу", repeat_text_month_count2_before: "кожны ", repeat_text_month_count2_after: "месяц", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "дзень", select_year_month: "", repeat_radio_end: "Без даты заканчэння", repeat_text_occurences_count: "паўтораў", repeat_radio_end2: "", repeat_radio_end3: "Да ", month_for_recurring: ["Студзеня", "Лютага", "Сакавіка", "Красавіка", "Мая", "Чэрвеня", "Ліпeня", "Жніўня", "Верасня", "Кастрычніка", "Лістапада", "Снежня"], day_for_recurring: ["Нядзелю", "Панядзелак", "Аўторак", "Сераду", "Чацвер", "Пятніцу", "Суботу"] } }, Me = { date: { month_full: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], month_short: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], day_full: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"], day_short: ["Dg", "Dl", "Dm", "Dc", "Dj", "Dv", "Ds"] }, labels: { dhx_cal_today_button: "Hui", day_tab: "Dia", week_tab: "Setmana", month_tab: "Mes", new_event: "Nou esdeveniment", icon_save: "Guardar", icon_cancel: "Cancel·lar", icon_details: "Detalls", icon_edit: "Editar", icon_delete: "Esborrar", confirm_closing: "", confirm_deleting: "L'esdeveniment s'esborrarà definitivament, continuar ?", section_description: "Descripció", section_time: "Periode de temps", full_day: "Tot el dia", confirm_recurring: "¿Desitja modificar el conjunt d'esdeveniments repetits?", section_recurring: "Repeteixca l'esdeveniment", button_recurring: "Impedit", button_recurring_open: "Permés", button_edit_series: "Edit sèrie", button_edit_occurrence: "Edita Instància", agenda_tab: "Agenda", date: "Data", description: "Descripció", year_tab: "Any", week_agenda_tab: "Agenda", grid_tab: "Taula", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Ae = { date: { month_full: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], day_short: ["日", "一", "二", "三", "四", "五", "六"] }, labels: { dhx_cal_today_button: "今天", day_tab: "日", week_tab: "周", month_tab: "月", new_event: "新建日程", icon_save: "保存", icon_cancel: "关闭", icon_details: "详细", icon_edit: "编辑", icon_delete: "删除", confirm_closing: "请确认是否撤销修改!", confirm_deleting: "是否删除日程?", section_description: "描述", section_time: "时间范围", full_day: "整天", confirm_recurring: "请确认是否将日程设为重复模式?", section_recurring: "重复周期", button_recurring: "禁用", button_recurring_open: "启用", button_edit_series: "编辑系列", button_edit_occurrence: "编辑实例", agenda_tab: "议程", date: "日期", description: "说明", year_tab: "今年", week_agenda_tab: "议程", grid_tab: "电网", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "按天", repeat_radio_week: "按周", repeat_radio_month: "按月", repeat_radio_year: "按年", repeat_radio_day_type: "每", repeat_text_day_count: "天", repeat_radio_day_type2: "每个工作日", repeat_week: " 重复 每", repeat_text_week_count: "星期的:", repeat_radio_month_type: "重复", repeat_radio_month_start: "在", repeat_text_month_day: "日 每", repeat_text_month_count: "月", repeat_text_month_count2_before: "每", repeat_text_month_count2_after: "月", repeat_year_label: "在", select_year_day2: "的", repeat_text_year_day: "日", select_year_month: "月", repeat_radio_end: "无结束日期", repeat_text_occurences_count: "次结束", repeat_radio_end2: "重复", repeat_radio_end3: "结束于", month_for_recurring: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], day_for_recurring: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] } }, Ce = { date: { month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"], day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], day_short: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Den", week_tab: "Týden", month_tab: "Měsíc", new_event: "Nová událost", icon_save: "Uložit", icon_cancel: "Zpět", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Smazat", confirm_closing: "", confirm_deleting: "Událost bude trvale smazána, opravdu?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Přejete si upravit celou řadu opakovaných událostí?", section_recurring: "Opakování události", button_recurring: "Vypnuto", button_recurring_open: "Zapnuto", button_edit_series: "Edit series", button_edit_occurrence: "Upravit instance", agenda_tab: "Program", date: "Datum", description: "Poznámka", year_tab: "Rok", full_day: "Full day", week_agenda_tab: "Program", grid_tab: "Mřížka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denně", repeat_radio_week: "Týdně", repeat_radio_month: "Měsíčně", repeat_radio_year: "Ročně", repeat_radio_day_type: "každý", repeat_text_day_count: "Den", repeat_radio_day_type2: "pracovní dny", repeat_week: "Opakuje každých", repeat_text_week_count: "Týdnů na:", repeat_radio_month_type: "u každého", repeat_radio_month_start: "na", repeat_text_month_day: "Den každého", repeat_text_month_count: "Měsíc", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "Měsíc", repeat_year_label: "na", select_year_day2: "v", repeat_text_year_day: "Den v", select_year_month: "", repeat_radio_end: "bez data ukončení", repeat_text_occurences_count: "Události", repeat_radio_end2: "po", repeat_radio_end3: "Konec", month_for_recurring: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], day_for_recurring: ["Neděle ", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"] } }, Te = { date: { month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uge", month_tab: "Måned", new_event: "Ny begivenhed", icon_save: "Gem", icon_cancel: "Fortryd", icon_details: "Detaljer", icon_edit: "Tilret", icon_delete: "Slet", confirm_closing: "Dine rettelser vil gå tabt.. Er dy sikker?", confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du tilrette hele serien af gentagne begivenheder?", section_recurring: "Gentag begivenhed", button_recurring: "Frakoblet", button_recurring_open: "Tilkoblet", button_edit_series: "Rediger serien", button_edit_occurrence: "Rediger en kopi", agenda_tab: "Dagsorden", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Dagsorden", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ugenlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "På hver arbejdsdag", repeat_week: " Gentager sig hver", repeat_text_week_count: "uge på følgende dage:", repeat_radio_month_type: "Hver den", repeat_radio_month_start: "Den", repeat_text_month_day: " i hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen slutdato", repeat_text_occurences_count: "gentagelse", repeat_radio_end2: "Efter", repeat_radio_end3: "Slut", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } }, Oe = { date: { month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"], month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], day_full: ["Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"], day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] }, labels: { dhx_cal_today_button: "Heute", day_tab: "Tag", week_tab: "Woche", month_tab: "Monat", new_event: "neuer Eintrag", icon_save: "Speichern", icon_cancel: "Abbrechen", icon_details: "Details", icon_edit: "Ändern", icon_delete: "Löschen", confirm_closing: "", confirm_deleting: "Der Eintrag wird gelöscht", section_description: "Beschreibung", section_time: "Zeitspanne", full_day: "Ganzer Tag", confirm_recurring: "Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?", section_recurring: "Wiederholung", button_recurring: "Aus", button_recurring_open: "An", button_edit_series: "Bearbeiten Sie die Serie", button_edit_occurrence: "Bearbeiten Sie eine Kopie", agenda_tab: "Agenda", date: "Datum", description: "Beschreibung", year_tab: "Jahre", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Täglich", repeat_radio_week: "Wöchentlich", repeat_radio_month: "Monatlich", repeat_radio_year: "Jährlich", repeat_radio_day_type: "jeden", repeat_text_day_count: "Tag", repeat_radio_day_type2: "an jedem Arbeitstag", repeat_week: " Wiederholt sich jede", repeat_text_week_count: "Woche am:", repeat_radio_month_type: "an jedem", repeat_radio_month_start: "am", repeat_text_month_day: "Tag eines jeden", repeat_text_month_count: "Monats", repeat_text_month_count2_before: "jeden", repeat_text_month_count2_after: "Monats", repeat_year_label: "am", select_year_day2: "im", repeat_text_year_day: "Tag im", select_year_month: "", repeat_radio_end: "kein Enddatum", repeat_text_occurences_count: "Ereignissen", repeat_radio_end3: "Schluß", repeat_radio_end2: "nach", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] } }, He = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } }, Le = { date: { month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, labels: { dhx_cal_today_button: "Today", day_tab: "Day", week_tab: "Week", month_tab: "Month", new_event: "New event", icon_save: "Save", icon_cancel: "Cancel", icon_details: "Details", icon_edit: "Edit", icon_delete: "Delete", confirm_closing: "", confirm_deleting: "Event will be deleted permanently, are you sure?", section_description: "Description", section_time: "Time period", full_day: "Full day", confirm_recurring: "Do you want to edit the whole set of repeated events?", section_recurring: "Repeat event", button_recurring: "Disabled", button_recurring_open: "Enabled", button_edit_series: "Edit series", button_edit_occurrence: "Edit occurrence", agenda_tab: "Agenda", date: "Date", description: "Description", year_tab: "Year", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daily", repeat_radio_week: "Weekly", repeat_radio_month: "Monthly", repeat_radio_year: "Yearly", repeat_radio_day_type: "Every", repeat_text_day_count: "day", repeat_radio_day_type2: "Every workday", repeat_week: " Repeat every", repeat_text_week_count: "week next days:", repeat_radio_month_type: "Repeat", repeat_radio_month_start: "On", repeat_text_month_day: "day every", repeat_text_month_count: "month", repeat_text_month_count2_before: "every", repeat_text_month_count2_after: "month", repeat_year_label: "On", select_year_day2: "of", repeat_text_year_day: "day", select_year_month: "month", repeat_radio_end: "No end date", repeat_text_occurences_count: "occurrences", repeat_radio_end2: "After", repeat_radio_end3: "End by", month_for_recurring: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], day_for_recurring: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] } }, $e = { date: { month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"] }, labels: { dhx_cal_today_button: "Hoy", day_tab: "Día", week_tab: "Semana", month_tab: "Mes", new_event: "Nuevo evento", icon_save: "Guardar", icon_cancel: "Cancelar", icon_details: "Detalles", icon_edit: "Editar", icon_delete: "Eliminar", confirm_closing: "", confirm_deleting: "El evento se borrará definitivamente, ¿continuar?", section_description: "Descripción", section_time: "Período", full_day: "Todo el día", confirm_recurring: "¿Desea modificar el conjunto de eventos repetidos?", section_recurring: "Repita el evento", button_recurring: "Impedido", button_recurring_open: "Permitido", button_edit_series: "Editar la serie", button_edit_occurrence: "Editar este evento", agenda_tab: "Día", date: "Fecha", description: "Descripción", year_tab: "Año", week_agenda_tab: "Día", grid_tab: "Reja", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diariamente", repeat_radio_week: "Semanalmente", repeat_radio_month: "Mensualmente", repeat_radio_year: "Anualmente", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada jornada de trabajo", repeat_week: " Repetir cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repita", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada ", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "del", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sin fecha de finalización", repeat_text_occurences_count: "ocurrencias", repeat_radio_end3: "Fin", repeat_radio_end2: "Después de", month_for_recurring: ["Enero", "Febrero", "Маrzo", "Аbril", "Mayo", "Junio", "Julio", "Аgosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"], day_for_recurring: ["Domingo", "Lunes", "Martes", "Miércoles", "Jeuves", "Viernes", "Sabado"] } }, ze = { date: { month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"], day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"] }, labels: { dhx_cal_today_button: "Tänään", day_tab: "Päivä", week_tab: "Viikko", month_tab: "Kuukausi", new_event: "Uusi tapahtuma", icon_save: "Tallenna", icon_cancel: "Peru", icon_details: "Tiedot", icon_edit: "Muokkaa", icon_delete: "Poista", confirm_closing: "", confirm_deleting: "Haluatko varmasti poistaa tapahtuman?", section_description: "Kuvaus", section_time: "Aikajakso", full_day: "Koko päivä", confirm_recurring: "Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?", section_recurring: "Toista tapahtuma", button_recurring: "Ei k&auml;yt&ouml;ss&auml;", button_recurring_open: "K&auml;yt&ouml;ss&auml;", button_edit_series: "Muokkaa sarja", button_edit_occurrence: "Muokkaa kopio", agenda_tab: "Esityslista", date: "Päivämäärä", description: "Kuvaus", year_tab: "Vuoden", week_agenda_tab: "Esityslista", grid_tab: "Ritilä", drag_to_create: "Luo uusi vetämällä", drag_to_move: "Siirrä vetämällä", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "P&auml;ivitt&auml;in", repeat_radio_week: "Viikoittain", repeat_radio_month: "Kuukausittain", repeat_radio_year: "Vuosittain", repeat_radio_day_type: "Joka", repeat_text_day_count: "p&auml;iv&auml;", repeat_radio_day_type2: "Joka arkip&auml;iv&auml;", repeat_week: "Toista joka", repeat_text_week_count: "viikko n&auml;in&auml; p&auml;ivin&auml;:", repeat_radio_month_type: "Toista", repeat_radio_month_start: "", repeat_text_month_day: "p&auml;iv&auml;n&auml; joka", repeat_text_month_count: "kuukausi", repeat_text_month_count2_before: "joka", repeat_text_month_count2_after: "kuukausi", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "p&auml;iv&auml;", select_year_month: "kuukausi", repeat_radio_end: "Ei loppumisaikaa", repeat_text_occurences_count: "Toiston j&auml;lkeen", repeat_radio_end3: "Loppuu", repeat_radio_end2: "", month_for_recurring: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], day_for_recurring: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] } }, je = { date: { month_full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], month_short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Juin", "Juil", "Aoû", "Sep", "Oct", "Nov", "Déc"], day_full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], day_short: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"] }, labels: { dhx_cal_today_button: "Aujourd'hui", day_tab: "Jour", week_tab: "Semaine", month_tab: "Mois", new_event: "Nouvel événement", icon_save: "Enregistrer", icon_cancel: "Annuler", icon_details: "Détails", icon_edit: "Modifier", icon_delete: "Effacer", confirm_closing: "", confirm_deleting: "L'événement sera effacé sans appel, êtes-vous sûr ?", section_description: "Description", section_time: "Période", full_day: "Journée complète", confirm_recurring: "Voulez-vous éditer toute une série d'évènements répétés?", section_recurring: "Périodicité", button_recurring: "Désactivé", button_recurring_open: "Activé", button_edit_series: "Modifier la série", button_edit_occurrence: "Modifier une copie", agenda_tab: "Jour", date: "Date", description: "Description", year_tab: "Année", week_agenda_tab: "Jour", grid_tab: "Grille", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidienne", repeat_radio_week: "Hebdomadaire", repeat_radio_month: "Mensuelle", repeat_radio_year: "Annuelle", repeat_radio_day_type: "Chaque", repeat_text_day_count: "jour", repeat_radio_day_type2: "Chaque journée de travail", repeat_week: " Répéter toutes les", repeat_text_week_count: "semaine:", repeat_radio_month_type: "Répéter", repeat_radio_month_start: "Le", repeat_text_month_day: "jour chaque", repeat_text_month_count: "mois", repeat_text_month_count2_before: "chaque", repeat_text_month_count2_after: "mois", repeat_year_label: "Le", select_year_day2: "du", repeat_text_year_day: "jour", select_year_month: "mois", repeat_radio_end: "Pas de date d&quot;achèvement", repeat_text_occurences_count: "occurrences", repeat_radio_end3: "Fin", repeat_radio_end2: "Après", month_for_recurring: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], day_for_recurring: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] } }, Pe = { date: { month_full: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], month_short: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], day_full: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"], day_short: ["א", "ב", "ג", "ד", "ה", "ו", "ש"] }, labels: { dhx_cal_today_button: "היום", day_tab: "יום", week_tab: "שבוע", month_tab: "חודש", new_event: "ארוע חדש", icon_save: "שמור", icon_cancel: "בטל", icon_details: "פרטים", icon_edit: "ערוך", icon_delete: "מחק", confirm_closing: "", confirm_deleting: "ארוע ימחק סופית.להמשיך?", section_description: "תיאור", section_time: "תקופה", confirm_recurring: "האם ברצונך לשנות כל סדרת ארועים מתמשכים?", section_recurring: "להעתיק ארוע", button_recurring: "לא פעיל", button_recurring_open: "פעיל", full_day: "יום שלם", button_edit_series: "ערוך את הסדרה", button_edit_occurrence: "עריכת עותק", agenda_tab: "סדר יום", date: "תאריך", description: "תיאור", year_tab: "לשנה", week_agenda_tab: "סדר יום", grid_tab: "סורג", drag_to_create: "Drag to create", drag_to_move: "גרור כדי להזיז", message_ok: "OK", message_cancel: "בטל", next: "הבא", prev: "הקודם", year: "שנה", month: "חודש", day: "יום", hour: "שעה", minute: "דקה", repeat_radio_day: "יומי", repeat_radio_week: "שבועי", repeat_radio_month: "חודשי", repeat_radio_year: "שנתי", repeat_radio_day_type: "חזור כל", repeat_text_day_count: "ימים", repeat_radio_day_type2: "חזור כל יום עבודה", repeat_week: " חזור כל", repeat_text_week_count: "שבוע לפי ימים:", repeat_radio_month_type: "חזור כל", repeat_radio_month_start: "כל", repeat_text_month_day: "ימים כל", repeat_text_month_count: "חודשים", repeat_text_month_count2_before: "חזור כל", repeat_text_month_count2_after: "חודש", repeat_year_label: "כל", select_year_day2: "בחודש", repeat_text_year_day: "ימים", select_year_month: "חודש", repeat_radio_end: "לעולם לא מסתיים", repeat_text_occurences_count: "אירועים", repeat_radio_end3: "מסתיים ב", repeat_radio_end2: "אחרי", month_for_recurring: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], day_for_recurring: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"] } }, Ve = { date: { month_full: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], month_short: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Vasárnap", "Hétfõ", "Kedd", "Szerda", "Csütörtök", "Péntek", "szombat"], day_short: ["Va", "Hé", "Ke", "Sze", "Csü", "Pé", "Szo"] }, labels: { dhx_cal_today_button: "Ma", day_tab: "Nap", week_tab: "Hét", month_tab: "Hónap", new_event: "Új esemény", icon_save: "Mentés", icon_cancel: "Mégse", icon_details: "Részletek", icon_edit: "Szerkesztés", icon_delete: "Törlés", confirm_closing: "", confirm_deleting: "Az esemény törölve lesz, biztosan folytatja?", section_description: "Leírás", section_time: "Idõszak", full_day: "Egesz napos", confirm_recurring: "Biztosan szerkeszteni akarod az összes ismétlõdõ esemény beállítását?", section_recurring: "Esemény ismétlése", button_recurring: "Tiltás", button_recurring_open: "Engedélyezés", button_edit_series: "Edit series", button_edit_occurrence: "Szerkesztés bíróság", agenda_tab: "Napirend", date: "Dátum", description: "Leírás", year_tab: "Év", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Ie = { date: { month_full: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], month_short: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], day_full: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], day_short: ["Ming", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"] }, labels: { dhx_cal_today_button: "Hari Ini", day_tab: "Hari", week_tab: "Minggu", month_tab: "Bulan", new_event: "Acara Baru", icon_save: "Simpan", icon_cancel: "Batal", icon_details: "Detail", icon_edit: "Edit", icon_delete: "Hapus", confirm_closing: "", confirm_deleting: "Acara akan dihapus", section_description: "Keterangan", section_time: "Periode", full_day: "Hari penuh", confirm_recurring: "Apakah acara ini akan berulang?", section_recurring: "Acara Rutin", button_recurring: "Tidak Difungsikan", button_recurring_open: "Difungsikan", button_edit_series: "Mengedit seri", button_edit_occurrence: "Mengedit salinan", agenda_tab: "Agenda", date: "Tanggal", description: "Keterangan", year_tab: "Tahun", week_agenda_tab: "Agenda", grid_tab: "Tabel", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } }, Be = { date: { month_full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], month_short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], day_full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], day_short: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"] }, labels: { dhx_cal_today_button: "Oggi", day_tab: "Giorno", week_tab: "Settimana", month_tab: "Mese", new_event: "Nuovo evento", icon_save: "Salva", icon_cancel: "Chiudi", icon_details: "Dettagli", icon_edit: "Modifica", icon_delete: "Elimina", confirm_closing: "", confirm_deleting: "L'evento sarà eliminato, siete sicuri?", section_description: "Descrizione", section_time: "Periodo di tempo", full_day: "Intera giornata", confirm_recurring: "Vuoi modificare l'intera serie di eventi?", section_recurring: "Ripetere l'evento", button_recurring: "Disattivato", button_recurring_open: "Attivato", button_edit_series: "Modificare la serie", button_edit_occurrence: "Modificare una copia", agenda_tab: "Agenda", date: "Data", description: "Descrizione", year_tab: "Anno", week_agenda_tab: "Agenda", grid_tab: "Griglia", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Quotidiano", repeat_radio_week: "Settimanale", repeat_radio_month: "Mensile", repeat_radio_year: "Annuale", repeat_radio_day_type: "Ogni", repeat_text_day_count: "giorno", repeat_radio_day_type2: "Ogni giornata lavorativa", repeat_week: " Ripetere ogni", repeat_text_week_count: "settimana:", repeat_radio_month_type: "Ripetere", repeat_radio_month_start: "Il", repeat_text_month_day: "giorno ogni", repeat_text_month_count: "mese", repeat_text_month_count2_before: "ogni", repeat_text_month_count2_after: "mese", repeat_year_label: "Il", select_year_day2: "del", repeat_text_year_day: "giorno", select_year_month: "mese", repeat_radio_end: "Senza data finale", repeat_text_occurences_count: "occorenze", repeat_radio_end3: "Fine", repeat_radio_end2: "Dopo", month_for_recurring: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Jiugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], day_for_recurring: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Jovedì", "Venerdì", "Sabato"] } }, Re = { date: { month_full: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], day_full: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"], day_short: ["日", "月", "火", "水", "木", "金", "土"] }, labels: { dhx_cal_today_button: "今日", day_tab: "日", week_tab: "週", month_tab: "月", new_event: "新イベント", icon_save: "保存", icon_cancel: "キャンセル", icon_details: "詳細", icon_edit: "編集", icon_delete: "削除", confirm_closing: "", confirm_deleting: "イベント完全に削除されます、宜しいですか?", section_description: "デスクリプション", section_time: "期間", confirm_recurring: "繰り返されているイベントを全て編集しますか?", section_recurring: "イベントを繰り返す", button_recurring: "無効", button_recurring_open: "有効", full_day: "終日", button_edit_series: "シリーズを編集します", button_edit_occurrence: "コピーを編集", agenda_tab: "議題は", date: "日付", description: "説明", year_tab: "今年", week_agenda_tab: "議題は", grid_tab: "グリッド", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute" } };
1750
1742
  class qe {
1751
1743
  constructor(h) {
1752
1744
  this._locales = {};
@@ -1839,19 +1831,19 @@ class at {
1839
1831
  let _ = i[0], o = i[1];
1840
1832
  const t = d.reduce((p, y) => (p[this.scheduler.date.day_start(new Date(y)).valueOf()] = !0, p), {}), r = document.createElement("div");
1841
1833
  this._renderDayGridHeader(r), h.appendChild(r);
1842
- const s = this.scheduler, c = s.date.week_start(s.date.month_start(new Date(a))), u = s.date.month_start(new Date(a)), m = s.date.add(s.date.month_start(new Date(a)), 1, "month");
1843
- let v = s.date.add(s.date.month_start(new Date(a)), 1, "month");
1844
- v.getDay() !== 0 && (v = s.date.add(s.date.week_start(v), 1, "week"));
1845
- let l = this._weeksBetween(c, v);
1846
- n && l < n && (v = s.date.add(v, n - l, "week"));
1834
+ const s = this.scheduler, c = s.date.week_start(s.date.month_start(new Date(a))), u = s.date.month_start(new Date(a)), v = s.date.add(s.date.month_start(new Date(a)), 1, "month");
1835
+ let m = s.date.add(s.date.month_start(new Date(a)), 1, "month");
1836
+ m.getDay() !== 0 && (m = s.date.add(s.date.week_start(m), 1, "week"));
1837
+ let l = this._weeksBetween(c, m);
1838
+ n && l < n && (m = s.date.add(m, n - l, "week"));
1847
1839
  let f = c;
1848
1840
  const g = document.createElement("div");
1849
1841
  for (g.classList.add("dhx_cal_datepicker_days"), this._domEvents.attach(g, "click", (p) => {
1850
1842
  const y = p.target.closest("[data-cell-date]"), w = new Date(y.getAttribute("data-cell-date"));
1851
1843
  this.callEvent("onDateClick", [w, p]);
1852
- }); f.valueOf() < v.valueOf(); ) {
1844
+ }); f.valueOf() < m.valueOf(); ) {
1853
1845
  const p = document.createElement("div");
1854
- p.setAttribute("data-cell-date", s.templates.format_date(f)), p.setAttribute("data-day", f.getDay()), p.innerHTML = f.getDate(), f.valueOf() < u.valueOf() ? p.classList.add("dhx_before") : f.valueOf() >= m.valueOf() && p.classList.add("dhx_after"), f.getDay() !== 0 && f.getDay() !== 6 || p.classList.add("dhx_cal_datepicker_weekend"), _ && o && f.valueOf() >= _.valueOf() && f.valueOf() < o.valueOf() && p.classList.add("dhx_cal_datepicker_current"), t[f.valueOf()] && p.classList.add("dhx_cal_datepicker_event"), p.classList.add("dhx_cal_datepicker_date"), g.appendChild(p), f = s.date.add(f, 1, "day");
1846
+ p.setAttribute("data-cell-date", s.templates.format_date(f)), p.setAttribute("data-day", f.getDay()), p.innerHTML = f.getDate(), f.valueOf() < u.valueOf() ? p.classList.add("dhx_before") : f.valueOf() >= v.valueOf() && p.classList.add("dhx_after"), f.getDay() !== 0 && f.getDay() !== 6 || p.classList.add("dhx_cal_datepicker_weekend"), _ && o && f.valueOf() >= _.valueOf() && f.valueOf() < o.valueOf() && p.classList.add("dhx_cal_datepicker_current"), t[f.valueOf()] && p.classList.add("dhx_cal_datepicker_event"), p.classList.add("dhx_cal_datepicker_date"), g.appendChild(p), f = s.date.add(f, 1, "day");
1855
1847
  }
1856
1848
  h.appendChild(g);
1857
1849
  }
@@ -1898,7 +1890,7 @@ class at {
1898
1890
  }
1899
1891
  }
1900
1892
  function nt(e) {
1901
- const h = { version: "7.0.0" };
1893
+ const h = { version: "7.0.2" };
1902
1894
  (function(t) {
1903
1895
  var r = { agenda: "https://docs.dhtmlx.com/scheduler/agenda_view.html", grid: "https://docs.dhtmlx.com/scheduler/grid_view.html", map: "https://docs.dhtmlx.com/scheduler/map_view.html", unit: "https://docs.dhtmlx.com/scheduler/units_view.html", timeline: "https://docs.dhtmlx.com/scheduler/timeline_view.html", week_agenda: "https://docs.dhtmlx.com/scheduler/weekagenda_view.html", year: "https://docs.dhtmlx.com/scheduler/year_view.html", anythingElse: "https://docs.dhtmlx.com/scheduler/views.html" }, s = { agenda: "ext/dhtmlxscheduler_agenda_view.js", grid: "ext/dhtmlxscheduler_grid_view.js", map: "ext/dhtmlxscheduler_map_view.js", unit: "ext/dhtmlxscheduler_units.js", timeline: "ext/dhtmlxscheduler_timeline.js, ext/dhtmlxscheduler_treetimeline.js, ext/dhtmlxscheduler_daytimeline.js", week_agenda: "ext/dhtmlxscheduler_week_agenda.js", year: "ext/dhtmlxscheduler_year_view.js", limit: "ext/dhtmlxscheduler_limit.js" };
1904
1896
  t._commonErrorMessages = { unknownView: function(c) {
@@ -1981,18 +1973,10 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
1981
1973
  return l.apply(f, arguments);
1982
1974
  };
1983
1975
  }, t.set_sizes = function() {
1984
- var l = this._x = this._obj.clientWidth - this.xy.margin_left, f = this._y = this._obj.clientHeight - this.xy.margin_top, g = this._table_view ? 0 : this.xy.scale_width + this.xy.scroll_width, p = this._table_view ? -1 : this.xy.scale_width, y = this.$container.querySelector(".dhx_cal_scale_placeholder");
1985
- if (t._is_material_skin() ? (y || ((y = document.createElement("div")).className = "dhx_cal_scale_placeholder", this.$container.insertBefore(y, this._els.dhx_cal_header[0])), y.style.display = "block", this.set_xy(y, l, this.xy.scale_height + 1, 0, this._els.dhx_cal_header[0].offsetTop)) : y && y.parentNode.removeChild(y), this._lightbox && (t.$container.offsetWidth < 1200 || this._setLbPosition(document.querySelector(".dhx_cal_light"))), this._data_width = l - g, t._is_new_skin()) {
1986
- this._els.dhx_cal_navline[0].style.width = l + "px";
1987
- const k = this._els.dhx_cal_header[0];
1988
- this.set_xy(k, this._data_width, this.xy.scale_height), k.style.left = "", k.style.right = "", this._table_view ? this.config.rtl ? k.style.right = "-1px" : k.style.left = "-1px" : this.config.rtl ? k.style.right = `${this.xy.scale_width}px` : k.style.left = `${this.xy.scale_width}px`;
1989
- } else {
1990
- this.set_xy(this._els.dhx_cal_navline[0], l, this.xy.nav_height, 0, 0), this.set_xy(this._els.dhx_cal_header[0], l - g + 1, this.xy.scale_height, p, this.xy.nav_height + 1);
1991
- var w = this._els.dhx_cal_navline[0].offsetHeight;
1992
- w > 0 && (this.xy.nav_height = w);
1993
- var b = this.xy.scale_height + this.xy.nav_height;
1994
- this.set_xy(this._els.dhx_cal_data[0], l, f - (b + 2), 0, b + 2);
1995
- }
1976
+ var l = this._x = this._obj.clientWidth - this.xy.margin_left, f = this._table_view ? 0 : this.xy.scale_width + this.xy.scroll_width, g = this.$container.querySelector(".dhx_cal_scale_placeholder");
1977
+ t._is_material_skin() ? (g || ((g = document.createElement("div")).className = "dhx_cal_scale_placeholder", this.$container.insertBefore(g, this._els.dhx_cal_header[0])), g.style.display = "block", this.set_xy(g, l, this.xy.scale_height + 1, 0, this._els.dhx_cal_header[0].offsetTop)) : g && g.parentNode.removeChild(g), this._lightbox && (t.$container.offsetWidth < 1200 || this._setLbPosition(document.querySelector(".dhx_cal_light"))), this._data_width = l - f, this._els.dhx_cal_navline[0].style.width = l + "px";
1978
+ const p = this._els.dhx_cal_header[0];
1979
+ this.set_xy(p, this._data_width, this.xy.scale_height), p.style.left = "", p.style.right = "", this._table_view ? this.config.rtl ? p.style.right = "-1px" : p.style.left = "-1px" : this.config.rtl ? p.style.right = `${this.xy.scale_width}px` : p.style.left = `${this.xy.scale_width}px`;
1996
1980
  }, t.set_xy = function(l, f, g, p, y) {
1997
1981
  function w(k) {
1998
1982
  let E = k;
@@ -2008,31 +1992,31 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2008
1992
  typeof y != "string" && p && !l[f].innerHTML && (y = p.split("_")[0]), y && (this._waiAria.labelAttr(l[f], y), l[f].innerHTML = y);
2009
1993
  }
2010
1994
  };
2011
- var m = t._createDomEventScope();
2012
- function v(l, f) {
1995
+ var v = t._createDomEventScope();
1996
+ function m(l, f) {
2013
1997
  const g = new Date(l), p = (new Date(f).getTime() - g.getTime()) / 864e5;
2014
1998
  return Math.abs(p);
2015
1999
  }
2016
2000
  t.unset_actions = function() {
2017
- m.detachAll();
2001
+ v.detachAll();
2018
2002
  }, t.set_actions = function() {
2019
2003
  for (var l in this._els)
2020
2004
  if (this._click[l])
2021
2005
  for (var f = 0; f < this._els[l].length; f++) {
2022
2006
  const g = this._els[l][f], p = this._click[l].bind(g);
2023
- m.attach(g, "click", p);
2007
+ v.attach(g, "click", p);
2024
2008
  }
2025
- m.attach(this._obj, "selectstart", function(g) {
2009
+ v.attach(this._obj, "selectstart", function(g) {
2026
2010
  return g.preventDefault(), !1;
2027
- }), m.attach(this._obj, "mousemove", function(g) {
2011
+ }), v.attach(this._obj, "mousemove", function(g) {
2028
2012
  t._temp_touch_block || t._on_mouse_move(g);
2029
- }), m.attach(this._obj, "mousedown", function(g) {
2013
+ }), v.attach(this._obj, "mousedown", function(g) {
2030
2014
  t._ignore_next_click || t._on_mouse_down(g);
2031
- }), m.attach(this._obj, "mouseup", function(g) {
2015
+ }), v.attach(this._obj, "mouseup", function(g) {
2032
2016
  t._ignore_next_click || t._on_mouse_up(g);
2033
- }), m.attach(this._obj, "dblclick", function(g) {
2017
+ }), v.attach(this._obj, "dblclick", function(g) {
2034
2018
  t._on_dbl_click(g);
2035
- }), m.attach(this._obj, "contextmenu", function(g) {
2019
+ }), v.attach(this._obj, "contextmenu", function(g) {
2036
2020
  t.checkEvent("onContextMenu") && g.preventDefault();
2037
2021
  var p = g, y = p.target || p.srcElement;
2038
2022
  return t.callEvent("onContextMenu", [t._locate_event(y), p]);
@@ -2162,7 +2146,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2162
2146
  return l;
2163
2147
  }, t._mouse_coords = function(l) {
2164
2148
  var f, g = document.body, p = document.documentElement;
2165
- f = this.$env.isIE || !l.pageX && !l.pageY ? { x: l.clientX + (g.scrollLeft || p.scrollLeft || 0) - g.clientLeft, y: l.clientY + (g.scrollTop || p.scrollTop || 0) - g.clientTop } : { x: l.pageX, y: l.pageY }, this.config.rtl && this._colsS ? (f.x = this.$container.querySelector(".dhx_cal_data").offsetWidth - f.x, this._mode !== "month" && (f.x -= this.xy.scale_width)) : f.x -= this.$domHelpers.getAbsoluteLeft(this._obj) + (this._table_view ? 0 : this.xy.scale_width);
2149
+ f = this.$env.isIE || !l.pageX && !l.pageY ? { x: l.clientX + (g.scrollLeft || p.scrollLeft || 0) - g.clientLeft, y: l.clientY + (g.scrollTop || p.scrollTop || 0) - g.clientTop } : { x: l.pageX, y: l.pageY }, this.config.rtl && this._colsS ? (f.x = this.$container.querySelector(".dhx_cal_data").offsetWidth - f.x, f.x += this.$domHelpers.getAbsoluteLeft(this._obj), this._mode !== "month" && (f.x -= this.xy.scale_width)) : f.x -= this.$domHelpers.getAbsoluteLeft(this._obj) + (this._table_view ? 0 : this.xy.scale_width);
2166
2150
  var y = this.$container.querySelector(".dhx_cal_data");
2167
2151
  f.y -= this.$domHelpers.getAbsoluteTop(y) - this._els.dhx_cal_data[0].scrollTop, f.ev = l;
2168
2152
  var w = this["mouse_" + this._mode];
@@ -2346,7 +2330,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2346
2330
  }
2347
2331
  this._drag_pos && (this._drag_pos.has_moved || this._drag_pos === !0) && (this._drag_id = this._drag_mode = null, this.render_view_data()), t.callEvent("onDragEnd", [f, g, l]);
2348
2332
  }
2349
- this._drag_id = null, this._drag_mode = null, this._drag_pos = null;
2333
+ this._drag_id = null, this._drag_mode = null, this._drag_pos = null, this._drag_event = null, this._drag_from_start = null;
2350
2334
  }
2351
2335
  }, t._trigger_dyn_loading = function() {
2352
2336
  return !(!this._load_mode || !this._load() || (this._render_wait = !0, 0));
@@ -2391,7 +2375,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2391
2375
  var w = document.createElement("div");
2392
2376
  w.className = "dhx_scale_bar", this.templates[this._mode + "_scalex_class"] && (w.className += " " + this.templates[this._mode + "_scalex_class"](g));
2393
2377
  var b = this._cols[l];
2394
- this._mode == "month" && l === 0 && this.config.left_border && (w.className += " dhx_scale_bar_border", f += 1), t._is_new_skin() ? this.set_xy(w, b, this.xy.scale_height - 1, f, y) : this.set_xy(w, b - 1, this.xy.scale_height - 2, f, y);
2378
+ this._mode == "month" && l === 0 && this.config.left_border && (w.className += " dhx_scale_bar_border", f += 1), this.set_xy(w, b, this.xy.scale_height - 1, f, y);
2395
2379
  var k = this.templates[this._mode + "_scale_date"](g, this._mode);
2396
2380
  w.innerHTML = k, this._waiAria.dayHeaderAttr(w, k), p.appendChild(w);
2397
2381
  }, t._get_columns_num = function(l, f) {
@@ -2427,19 +2411,19 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2427
2411
  for (var D = 0; D < k; D++) {
2428
2412
  if (this._ignores[D] || this._render_x_header(D, E, b, l), !this._table_view) {
2429
2413
  var x = document.createElement("div"), S = "dhx_scale_holder";
2430
- if (b.valueOf() == y.valueOf() && (S += " dhx_scale_holder_now"), x.setAttribute("data-column-index", D), this._ignores_detected && this._ignores[D] && (S += " dhx_scale_ignore"), this._is_new_skin())
2431
- for (let N = 1 * this.config.first_hour; N < this.config.last_hour; N++) {
2432
- const M = document.createElement("div");
2433
- M.className = "dhx_scale_time_slot dhx_scale_time_slot_hour_start", M.style.height = this.config.hour_size_px / 2 + "px";
2434
- let A = new Date(b.getFullYear(), b.getMonth(), b.getDate(), N, 0);
2435
- M.setAttribute("data-slot-date", this.templates.format_date(A));
2436
- let C = this.templates.time_slot_text(A);
2437
- C && (M.innerHTML = C);
2438
- let T = this.templates.time_slot_class(A);
2439
- T && M.classList.add(T), x.appendChild(M);
2440
- const O = document.createElement("div");
2441
- O.className = "dhx_scale_time_slot", A = new Date(b.getFullYear(), b.getMonth(), b.getDate(), N, 30), O.setAttribute("data-slot-date", this.templates.format_date(A)), O.style.height = this.config.hour_size_px / 2 + "px", C = this.templates.time_slot_text(A), C && (O.innerHTML = C), T = this.templates.time_slot_class(A), T && O.classList.add(T), x.appendChild(O);
2442
- }
2414
+ b.valueOf() == y.valueOf() && (S += " dhx_scale_holder_now"), x.setAttribute("data-column-index", D), this._ignores_detected && this._ignores[D] && (S += " dhx_scale_ignore");
2415
+ for (let N = 1 * this.config.first_hour; N < this.config.last_hour; N++) {
2416
+ const M = document.createElement("div");
2417
+ M.className = "dhx_scale_time_slot dhx_scale_time_slot_hour_start", M.style.height = this.config.hour_size_px / 2 + "px";
2418
+ let A = new Date(b.getFullYear(), b.getMonth(), b.getDate(), N, 0);
2419
+ M.setAttribute("data-slot-date", this.templates.format_date(A));
2420
+ let C = this.templates.time_slot_text(A);
2421
+ C && (M.innerHTML = C);
2422
+ let T = this.templates.time_slot_class(A);
2423
+ T && M.classList.add(T), x.appendChild(M);
2424
+ const O = document.createElement("div");
2425
+ O.className = "dhx_scale_time_slot", A = new Date(b.getFullYear(), b.getMonth(), b.getDate(), N, 30), O.setAttribute("data-slot-date", this.templates.format_date(A)), O.style.height = this.config.hour_size_px / 2 + "px", C = this.templates.time_slot_text(A), C && (O.innerHTML = C), T = this.templates.time_slot_class(A), T && O.classList.add(T), x.appendChild(O);
2426
+ }
2443
2427
  x.className = S + " " + this.templates.week_date_class(b, y), this._waiAria.dayColumnAttr(x, b), this._set_scale_col_size(x, this._cols[D], E), f.appendChild(x), this.callEvent("onScaleAdd", [x, b]);
2444
2428
  }
2445
2429
  E += this._cols[D], b = this.date.add(b, 1, "day"), b = this.date.day_start(b);
@@ -2460,14 +2444,12 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2460
2444
  else if (this._reset_hours_scale(f, b, y), g.multi_day) {
2461
2445
  var x = "dhx_multi_day";
2462
2446
  this._els[x] && (this._els[x][0].parentNode.removeChild(this._els[x][0]), this._els[x] = null);
2463
- var S = this._els.dhx_cal_navline[0].offsetHeight + this._els.dhx_cal_header[0].offsetHeight + 1;
2464
- this._is_new_skin() && (S = void 0);
2465
- var N = document.createElement("div");
2466
- N.className = x, N.style.visibility = "hidden", N.style.display = "none";
2467
- var M = this._colsS[this._colsS.col_length], A = g.rtl ? this.xy.scale_width : this.xy.scroll_width, C = Math.max(M + A, 0);
2468
- this.set_xy(N, C, 0, 0, S), f.parentNode.insertBefore(N, f);
2469
- var T = N.cloneNode(!0);
2470
- T.className = x + "_icon", T.style.visibility = "hidden", T.style.display = "none", this.set_xy(T, this.xy.scale_width + 1, 0, 0, S), N.appendChild(T), this._els[x] = [N, T], t.event(this._els[x][0], "click", this._click.dhx_cal_data);
2447
+ var S = document.createElement("div");
2448
+ S.className = x, S.style.visibility = "hidden", S.style.display = "none";
2449
+ var N = this._colsS[this._colsS.col_length], M = g.rtl ? this.xy.scale_width : this.xy.scroll_width, A = Math.max(N + M, 0);
2450
+ this.set_xy(S, A, 0, 0), f.parentNode.insertBefore(S, f);
2451
+ var C = S.cloneNode(!0);
2452
+ C.className = x + "_icon", C.style.visibility = "hidden", C.style.display = "none", this.set_xy(C, this.xy.scale_width + 1, 0, 0), S.appendChild(C), this._els[x] = [S, C], t.event(this._els[x][0], "click", this._click.dhx_cal_data);
2471
2453
  }
2472
2454
  }
2473
2455
  }, t._reset_hours_scale = function(l, f, g) {
@@ -2585,7 +2567,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2585
2567
  }
2586
2568
  }, t._get_real_event_length = function(l, f, g) {
2587
2569
  var p, y = f - l, w = this["ignore_" + this._mode], b = 0;
2588
- g.render ? (b = this._get_date_index(g, l), p = this._get_date_index(g, f), l.valueOf() < t.getState().min_date.valueOf() && (b = -v(l, t.getState().min_date)), f.valueOf() > t.getState().max_date.valueOf() && (p += v(f, t.getState().max_date))) : p = Math.round(y / 60 / 60 / 1e3 / 24);
2570
+ g.render ? (b = this._get_date_index(g, l), p = this._get_date_index(g, f), l.valueOf() < t.getState().min_date.valueOf() && (b = -m(l, t.getState().min_date)), f.valueOf() > t.getState().max_date.valueOf() && (p += m(f, t.getState().max_date))) : p = Math.round(y / 60 / 60 / 1e3 / 24);
2589
2571
  for (var k = !0; b < p; ) {
2590
2572
  var E = t.date.add(f, -g.x_step, g.x_unit);
2591
2573
  if (w && w(f) && (!k || k && w(E)))
@@ -2631,14 +2613,14 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2631
2613
  return (l + "").replace(r, " ").replace(s, " ");
2632
2614
  }
2633
2615
  var u = new RegExp("'", "gm");
2634
- function m(l) {
2616
+ function v(l) {
2635
2617
  return (l + "").replace(u, "&#39;");
2636
2618
  }
2637
- for (var v in t._waiAria = { getAttributeString: function(l) {
2619
+ for (var m in t._waiAria = { getAttributeString: function(l) {
2638
2620
  var f = [" "];
2639
2621
  for (var g in l)
2640
2622
  if (typeof l[g] != "function" && typeof l[g] != "object") {
2641
- var p = m(c(l[g]));
2623
+ var p = v(c(l[g]));
2642
2624
  f.push(g + "='" + p + "'");
2643
2625
  }
2644
2626
  return f.push(" "), f.join(" ");
@@ -2781,11 +2763,11 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2781
2763
  }, tooltipHiddenAttr: function(l) {
2782
2764
  l.setAttribute("aria-hidden", "true");
2783
2765
  } }, t._waiAria)
2784
- t._waiAria[v] = function(l) {
2766
+ t._waiAria[m] = function(l) {
2785
2767
  return function() {
2786
2768
  return t.config.wai_aria_attributes ? l.apply(this, arguments) : " ";
2787
2769
  };
2788
- }(t._waiAria[v]);
2770
+ }(t._waiAria[m]);
2789
2771
  })();
2790
2772
  }(h), h.utils = I, h.$domHelpers = q, h.utils.dom = q, h.uid = I.uid, h.mixin = I.mixin, h.defined = I.defined, h.assert = function(t) {
2791
2773
  return function(r, s) {
@@ -2825,113 +2807,113 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2825
2807
  var c;
2826
2808
  }, xmltop: function(s, c, u) {
2827
2809
  if (c.status === void 0 || c.status < 400) {
2828
- var m = c.responseXML ? c.responseXML || c : this.parse(c.responseText || c);
2829
- if (m && m.documentElement !== null && !m.getElementsByTagName("parsererror").length)
2830
- return m.getElementsByTagName(s)[0];
2810
+ var v = c.responseXML ? c.responseXML || c : this.parse(c.responseText || c);
2811
+ if (v && v.documentElement !== null && !v.getElementsByTagName("parsererror").length)
2812
+ return v.getElementsByTagName(s)[0];
2831
2813
  }
2832
2814
  return u !== -1 && t.callEvent("onLoadXMLError", ["Incorrect XML", arguments[1], u]), document.createElement("DIV");
2833
2815
  }, xpath: function(s, c) {
2834
2816
  if (c.nodeName || (c = c.responseXML || c), t.$env.isIE)
2835
2817
  return c.selectNodes(s) || [];
2836
- for (var u, m = [], v = (c.ownerDocument || c).evaluate(s, c, null, XPathResult.ANY_TYPE, null); u = v.iterateNext(); )
2837
- m.push(u);
2838
- return m;
2818
+ for (var u, v = [], m = (c.ownerDocument || c).evaluate(s, c, null, XPathResult.ANY_TYPE, null); u = m.iterateNext(); )
2819
+ v.push(u);
2820
+ return v;
2839
2821
  }, query: function(s) {
2840
2822
  return this._call(s.method || "GET", s.url, s.data || "", s.async || !0, s.callback, s.headers);
2841
2823
  }, get: function(s, c, u) {
2842
- var m = r("GET", arguments);
2843
- return this.query(m);
2824
+ var v = r("GET", arguments);
2825
+ return this.query(v);
2844
2826
  }, getSync: function(s, c) {
2845
2827
  var u = r("GET", arguments);
2846
2828
  return u.async = !1, this.query(u);
2847
- }, put: function(s, c, u, m) {
2848
- var v = r("PUT", arguments);
2849
- return this.query(v);
2850
- }, del: function(s, c, u) {
2851
- var m = r("DELETE", arguments);
2829
+ }, put: function(s, c, u, v) {
2830
+ var m = r("PUT", arguments);
2852
2831
  return this.query(m);
2853
- }, post: function(s, c, u, m) {
2854
- arguments.length == 1 ? c = "" : arguments.length == 2 && typeof c == "function" && (u = c, c = "");
2855
- var v = r("POST", arguments);
2832
+ }, del: function(s, c, u) {
2833
+ var v = r("DELETE", arguments);
2856
2834
  return this.query(v);
2835
+ }, post: function(s, c, u, v) {
2836
+ arguments.length == 1 ? c = "" : arguments.length == 2 && typeof c == "function" && (u = c, c = "");
2837
+ var m = r("POST", arguments);
2838
+ return this.query(m);
2857
2839
  }, postSync: function(s, c, u) {
2858
2840
  c = c === null ? "" : String(c);
2859
- var m = r("POST", arguments);
2860
- return m.async = !1, this.query(m);
2861
- }, _call: function(s, c, u, m, v, l) {
2841
+ var v = r("POST", arguments);
2842
+ return v.async = !1, this.query(v);
2843
+ }, _call: function(s, c, u, v, m, l) {
2862
2844
  return new t.Promise((function(f, g) {
2863
2845
  var p = typeof XMLHttpRequest === void 0 || t.$env.isIE ? new window.ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(), y = navigator.userAgent.match(/AppleWebKit/) !== null && navigator.userAgent.match(/Qt/) !== null && navigator.userAgent.match(/Safari/) !== null;
2864
- if (m && p.addEventListener("readystatechange", function() {
2846
+ if (v && p.addEventListener("readystatechange", function() {
2865
2847
  if (p.readyState == 4 || y && p.readyState == 3) {
2866
2848
  if ((p.status != 200 || p.responseText === "") && !t.callEvent("onAjaxError", [p]))
2867
2849
  return;
2868
2850
  setTimeout(function() {
2869
- typeof v == "function" && v.apply(window, [{ xmlDoc: p, filePath: c }]), f(p), typeof v == "function" && (v = null, p = null);
2851
+ typeof m == "function" && m.apply(window, [{ xmlDoc: p, filePath: c }]), f(p), typeof m == "function" && (m = null, p = null);
2870
2852
  }, 0);
2871
2853
  }
2872
- }), s != "GET" || this.cache || (c += (c.indexOf("?") >= 0 ? "&" : "?") + "dhxr" + (/* @__PURE__ */ new Date()).getTime() + "=1"), p.open(s, c, m), l)
2854
+ }), s != "GET" || this.cache || (c += (c.indexOf("?") >= 0 ? "&" : "?") + "dhxr" + (/* @__PURE__ */ new Date()).getTime() + "=1"), p.open(s, c, v), l)
2873
2855
  for (var w in l)
2874
2856
  p.setRequestHeader(w, l[w]);
2875
2857
  else
2876
2858
  s.toUpperCase() == "POST" || s == "PUT" || s == "DELETE" ? p.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") : s == "GET" && (u = null);
2877
- if (p.setRequestHeader("X-Requested-With", "XMLHttpRequest"), p.send(u), !m)
2859
+ if (p.setRequestHeader("X-Requested-With", "XMLHttpRequest"), p.send(u), !v)
2878
2860
  return { xmlDoc: p, filePath: c };
2879
2861
  }).bind(this));
2880
2862
  }, urlSeparator: function(s) {
2881
2863
  return s.indexOf("?") != -1 ? "&" : "?";
2882
2864
  } }, t.$ajax = t.ajax;
2883
2865
  }(h), be(h), function(t) {
2884
- t.config = { default_date: "%j %M %Y", month_date: "%F %Y", load_date: "%Y-%m-%d", week_date: "%l", day_date: "%D %j", hour_date: "%H:%i", month_day: "%d", date_format: "%Y-%m-%d %H:%i", api_date: "%d-%m-%Y %H:%i", parse_exact_format: !1, preserve_length: !0, time_step: 5, displayed_event_color: "#ff4a4a", displayed_event_text_color: "#ffef80", wide_form: 0, day_column_padding: 8, use_select_menu_space: !0, fix_tab_position: !0, start_on_monday: !0, first_hour: 0, last_hour: 24, readonly: !1, drag_resize: !0, drag_move: !0, drag_create: !0, drag_event_body: !0, dblclick_create: !0, details_on_dblclick: !0, edit_on_create: !0, details_on_create: !0, header: null, hour_size_px: 44, resize_month_events: !1, resize_month_timed: !1, responsive_lightbox: !1, separate_short_events: !0, rtl: !1, cascade_event_display: !1, cascade_event_count: 4, cascade_event_margin: 30, multi_day: !0, multi_day_height_limit: 0, drag_lightbox: !0, preserve_scroll: !0, select: !0, server_utc: !1, touch: !0, touch_tip: !0, touch_drag: 500, touch_swipe_dates: !1, quick_info_detached: !0, positive_closing: !1, drag_highlight: !0, limit_drag_out: !1, icons_edit: ["icon_save", "icon_cancel"], icons_select: ["icon_details", "icon_edit", "icon_delete"], buttons_left: ["dhx_save_btn", "dhx_cancel_btn"], buttons_right: ["dhx_delete_btn"], lightbox: { sections: [{ name: "description", map_to: "text", type: "textarea", focus: !0 }, { name: "time", height: 72, type: "time", map_to: "auto" }] }, highlight_displayed_event: !0, left_border: !1, ajax_error: "alert", delay_render: 0, timeline_swap_resize: !0, wai_aria_attributes: !0, wai_aria_application_role: !0, csp: "auto", event_attribute: "data-event-id", show_errors: !0 }, t.config.buttons_left.$initial = t.config.buttons_left.join(), t.config.buttons_right.$initial = t.config.buttons_right.join(), t._helpers = { parseDate: function(r) {
2866
+ t.config = { default_date: "%j %M %Y", month_date: "%F %Y", load_date: "%Y-%m-%d", week_date: "%l", day_date: "%D %j", hour_date: "%H:%i", month_day: "%d", date_format: "%Y-%m-%d %H:%i", api_date: "%d-%m-%Y %H:%i", parse_exact_format: !1, preserve_length: !0, time_step: 5, displayed_event_color: "#ff4a4a", displayed_event_text_color: "#ffef80", wide_form: 0, day_column_padding: 8, use_select_menu_space: !0, fix_tab_position: !0, start_on_monday: !0, first_hour: 0, last_hour: 24, readonly: !1, drag_resize: !0, drag_move: !0, drag_create: !0, drag_event_body: !0, dblclick_create: !0, details_on_dblclick: !0, edit_on_create: !0, details_on_create: !0, header: null, hour_size_px: 44, resize_month_events: !1, resize_month_timed: !1, responsive_lightbox: !1, separate_short_events: !0, rtl: !1, cascade_event_display: !1, cascade_event_count: 4, cascade_event_margin: 30, multi_day: !0, multi_day_height_limit: 200, drag_lightbox: !0, preserve_scroll: !0, select: !0, server_utc: !1, touch: !0, touch_tip: !0, touch_drag: 500, touch_swipe_dates: !1, quick_info_detached: !0, positive_closing: !1, drag_highlight: !0, limit_drag_out: !1, icons_edit: ["icon_save", "icon_cancel"], icons_select: ["icon_details", "icon_edit", "icon_delete"], buttons_left: ["dhx_save_btn", "dhx_cancel_btn"], buttons_right: ["dhx_delete_btn"], lightbox: { sections: [{ name: "description", map_to: "text", type: "textarea", focus: !0 }, { name: "time", height: 72, type: "time", map_to: "auto" }] }, highlight_displayed_event: !0, left_border: !1, ajax_error: "alert", delay_render: 0, timeline_swap_resize: !0, wai_aria_attributes: !0, wai_aria_application_role: !0, csp: "auto", event_attribute: "data-event-id", show_errors: !0 }, t.config.buttons_left.$initial = t.config.buttons_left.join(), t.config.buttons_right.$initial = t.config.buttons_right.join(), t._helpers = { parseDate: function(r) {
2885
2867
  return (t.templates.xml_date || t.templates.parse_date)(r);
2886
2868
  }, formatDate: function(r) {
2887
2869
  return (t.templates.xml_format || t.templates.format_date)(r);
2888
2870
  } }, t.templates = {}, t.init_templates = function() {
2889
2871
  var r = t.date.date_to_str, s = t.config;
2890
2872
  (function(c, u) {
2891
- for (var m in u)
2892
- c[m] || (c[m] = u[m]);
2873
+ for (var v in u)
2874
+ c[v] || (c[v] = u[v]);
2893
2875
  })(t.templates, { day_date: r(s.default_date), month_date: r(s.month_date), week_date: function(c, u) {
2894
2876
  return s.rtl ? t.templates.day_date(t.date.add(u, -1, "day")) + " &ndash; " + t.templates.day_date(c) : t.templates.day_date(c) + " &ndash; " + t.templates.day_date(t.date.add(u, -1, "day"));
2895
2877
  }, day_scale_date: r(s.default_date), time_slot_text: function(c) {
2896
2878
  return "";
2897
2879
  }, time_slot_class: function(c) {
2898
2880
  return "";
2899
- }, month_scale_date: r(s.week_date), week_scale_date: r(s.day_date), hour_scale: r(s.hour_date), time_picker: r(s.hour_date), event_date: r(s.hour_date), month_day: r(s.month_day), load_format: r(s.load_date), format_date: r(s.date_format, s.server_utc), parse_date: t.date.str_to_date(s.date_format, s.server_utc), api_date: t.date.str_to_date(s.api_date, !1, !1), event_header: function(c, u, m) {
2900
- return m._mode === "small" || m._mode === "smallest" ? t.templates.event_date(c) : t.templates.event_date(c) + " - " + t.templates.event_date(u);
2901
- }, event_text: function(c, u, m) {
2902
- return m.text;
2903
- }, event_class: function(c, u, m) {
2881
+ }, month_scale_date: r(s.week_date), week_scale_date: r(s.day_date), hour_scale: r(s.hour_date), time_picker: r(s.hour_date), event_date: r(s.hour_date), month_day: r(s.month_day), load_format: r(s.load_date), format_date: r(s.date_format, s.server_utc), parse_date: t.date.str_to_date(s.date_format, s.server_utc), api_date: t.date.str_to_date(s.api_date, !1, !1), event_header: function(c, u, v) {
2882
+ return v._mode === "small" || v._mode === "smallest" ? t.templates.event_date(c) : t.templates.event_date(c) + " - " + t.templates.event_date(u);
2883
+ }, event_text: function(c, u, v) {
2884
+ return v.text;
2885
+ }, event_class: function(c, u, v) {
2904
2886
  return "";
2905
2887
  }, month_date_class: function(c) {
2906
2888
  return "";
2907
2889
  }, week_date_class: function(c) {
2908
2890
  return "";
2909
- }, event_bar_date: function(c, u, m) {
2891
+ }, event_bar_date: function(c, u, v) {
2910
2892
  return t.templates.event_date(c);
2911
- }, event_bar_text: function(c, u, m) {
2912
- return m.text;
2893
+ }, event_bar_text: function(c, u, v) {
2894
+ return v.text;
2913
2895
  }, month_events_link: function(c, u) {
2914
2896
  return "<a>View more(" + u + " events)</a>";
2915
- }, drag_marker_class: function(c, u, m) {
2897
+ }, drag_marker_class: function(c, u, v) {
2916
2898
  return "";
2917
- }, drag_marker_content: function(c, u, m) {
2899
+ }, drag_marker_content: function(c, u, v) {
2918
2900
  return "";
2919
- }, tooltip_date_format: t.date.date_to_str("%Y-%m-%d %H:%i"), tooltip_text: function(c, u, m) {
2920
- return "<b>Event:</b> " + m.text + "<br/><b>Start date:</b> " + t.templates.tooltip_date_format(c) + "<br/><b>End date:</b> " + t.templates.tooltip_date_format(u);
2901
+ }, tooltip_date_format: t.date.date_to_str("%Y-%m-%d %H:%i"), tooltip_text: function(c, u, v) {
2902
+ return "<b>Event:</b> " + v.text + "<br/><b>Start date:</b> " + t.templates.tooltip_date_format(c) + "<br/><b>End date:</b> " + t.templates.tooltip_date_format(u);
2921
2903
  }, calendar_month: r("%F %Y"), calendar_scale_date: r("%D"), calendar_date: r("%d"), calendar_time: r("%d-%m-%Y") }), this.callEvent("onTemplatesReady", []);
2922
2904
  };
2923
2905
  }(h), function(t) {
2924
2906
  t._events = {}, t.clearAll = function() {
2925
2907
  this._events = {}, this._loaded = {}, this._edit_id = null, this._select_id = null, this._drag_id = null, this._drag_mode = null, this._drag_pos = null, this._new_event = null, this.clear_view(), this.callEvent("onClearAll", []);
2926
- }, t.addEvent = function(r, s, c, u, m) {
2908
+ }, t.addEvent = function(r, s, c, u, v) {
2927
2909
  if (!arguments.length)
2928
2910
  return this.addEventNow();
2929
- var v = r;
2930
- arguments.length != 1 && ((v = m || {}).start_date = r, v.end_date = s, v.text = c, v.id = u), v.id = v.id || t.uid(), v.text = v.text || "", typeof v.start_date == "string" && (v.start_date = this.templates.api_date(v.start_date)), typeof v.end_date == "string" && (v.end_date = this.templates.api_date(v.end_date));
2911
+ var m = r;
2912
+ arguments.length != 1 && ((m = v || {}).start_date = r, m.end_date = s, m.text = c, m.id = u), m.id = m.id || t.uid(), m.text = m.text || "", typeof m.start_date == "string" && (m.start_date = this.templates.api_date(m.start_date)), typeof m.end_date == "string" && (m.end_date = this.templates.api_date(m.end_date));
2931
2913
  var l = 6e4 * (this.config.event_duration || this.config.time_step);
2932
- v.start_date.valueOf() == v.end_date.valueOf() && v.end_date.setTime(v.end_date.valueOf() + l), v.start_date.setMilliseconds(0), v.end_date.setMilliseconds(0), v._timed = this.isOneDayEvent(v);
2933
- var f = !this._events[v.id];
2934
- return this._events[v.id] = v, this.event_updated(v), this._loading || this.callEvent(f ? "onEventAdded" : "onEventChanged", [v.id, v]), v.id;
2914
+ m.start_date.valueOf() == m.end_date.valueOf() && m.end_date.setTime(m.end_date.valueOf() + l), m.start_date.setMilliseconds(0), m.end_date.setMilliseconds(0), m._timed = this.isOneDayEvent(m);
2915
+ var f = !this._events[m.id];
2916
+ return this._events[m.id] = m, this.event_updated(m), this._loading || this.callEvent(f ? "onEventAdded" : "onEventChanged", [m.id, m]), m.id;
2935
2917
  }, t.deleteEvent = function(r, s) {
2936
2918
  var c = this._events[r];
2937
2919
  (s || this.callEvent("onBeforeEventDelete", [r, c]) && this.callEvent("onConfirmedBeforeEventDelete", [r, c])) && (c && (t.getState().select_id == r && t.unselect(), delete this._events[r], this.event_updated(c), this._drag_id == c.id && (this._drag_id = null, this._drag_mode = null, this._drag_pos = null)), this.callEvent("onEventDeleted", [r, c]));
@@ -2950,14 +2932,14 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2950
2932
  }), this._select_id == r && (this._select_id = s), this._edit_id == r && (this._edit_id = s), this.callEvent("onEventIdChange", [r, s]);
2951
2933
  }
2952
2934
  }, function() {
2953
- for (var r = ["text", "Text", "start_date", "StartDate", "end_date", "EndDate"], s = function(m) {
2954
- return function(v) {
2955
- return t.getEvent(v)[m];
2935
+ for (var r = ["text", "Text", "start_date", "StartDate", "end_date", "EndDate"], s = function(v) {
2936
+ return function(m) {
2937
+ return t.getEvent(m)[v];
2956
2938
  };
2957
- }, c = function(m) {
2958
- return function(v, l) {
2959
- var f = t.getEvent(v);
2960
- f[m] = l, f._changed = !0, f._timed = this.isOneDayEvent(f), t.event_updated(f, !0);
2939
+ }, c = function(v) {
2940
+ return function(m, l) {
2941
+ var f = t.getEvent(m);
2942
+ f[v] = l, f._changed = !0, f._timed = this.isOneDayEvent(f), t.event_updated(f, !0);
2961
2943
  };
2962
2944
  }, u = 0; u < r.length; u += 2)
2963
2945
  t["getEvent" + r[u + 1]] = s(r[u]), t["setEvent" + r[u + 1]] = c(r[u]);
@@ -2967,8 +2949,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2967
2949
  if (!this._min_date || !this._max_date)
2968
2950
  return !1;
2969
2951
  if (r.start_date.valueOf() < this._max_date.valueOf() && this._min_date.valueOf() < r.end_date.valueOf()) {
2970
- var s = r.start_date.getHours(), c = r.end_date.getHours() + r.end_date.getMinutes() / 60, u = this.config.last_hour, m = this.config.first_hour;
2971
- return !(!this._table_view && (c > u || c <= m) && (s >= u || s < m) && !((r.end_date.valueOf() - r.start_date.valueOf()) / 36e5 > 24 - (this.config.last_hour - this.config.first_hour) || s < u && c > m));
2952
+ var s = r.start_date.getHours(), c = r.end_date.getHours() + r.end_date.getMinutes() / 60, u = this.config.last_hour, v = this.config.first_hour;
2953
+ return !(!this._table_view && (c > u || c <= v) && (s >= u || s < v) && !((r.end_date.valueOf() - r.start_date.valueOf()) / 36e5 > 24 - (this.config.last_hour - this.config.first_hour) || s < u && c > v));
2972
2954
  }
2973
2955
  return !1;
2974
2956
  }, t.isOneDayEvent = function(r) {
@@ -2991,17 +2973,17 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2991
2973
  return void (this._render_wait = !0);
2992
2974
  this._render_wait = !1, this.clear_view(), r = this.get_visible_events(!(this._table_view || this.config.multi_day));
2993
2975
  }
2994
- for (var u = 0, m = r.length; u < m; u++)
2976
+ for (var u = 0, v = r.length; u < v; u++)
2995
2977
  this._recalculate_timed(r[u]);
2996
2978
  if (this.config.multi_day && !this._table_view) {
2997
- var v = [], l = [];
2979
+ var m = [], l = [];
2998
2980
  for (u = 0; u < r.length; u++)
2999
- this._is_main_area_event(r[u]) ? v.push(r[u]) : l.push(r[u]);
2981
+ this._is_main_area_event(r[u]) ? m.push(r[u]) : l.push(r[u]);
3000
2982
  if (!this._els.dhx_multi_day) {
3001
2983
  var f = t._commonErrorMessages.unknownView(this._mode);
3002
2984
  throw new Error(f);
3003
2985
  }
3004
- this._rendered_location = this._els.dhx_multi_day[0], this._table_view = !0, this.render_data(l, s), this._table_view = !1, this._rendered_location = this._els.dhx_cal_data[0], this._table_view = !1, this.render_data(v, s);
2986
+ this._rendered_location = this._els.dhx_multi_day[0], this._table_view = !0, this.render_data(l, s), this._table_view = !1, this._rendered_location = this._els.dhx_cal_data[0], this._table_view = !1, this.render_data(m, s);
3005
2987
  } else {
3006
2988
  var g = document.createDocumentFragment(), p = this._els.dhx_cal_data[0];
3007
2989
  this._rendered_location = g, this.render_data(r, s), p.appendChild(g), this._rendered_location = p;
@@ -3013,12 +2995,12 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3013
2995
  }, t._render_month_link = function(r) {
3014
2996
  for (var s = this._rendered_location, c = this._lame_clone(r), u = r._sday; u < r._eday; u++) {
3015
2997
  c._sday = u, c._eday = u + 1;
3016
- var m = t.date, v = t._min_date;
3017
- v = m.add(v, c._sweek, "week"), v = m.add(v, c._sday, "day");
3018
- var l = t.getEvents(v, m.add(v, 1, "day")).length, f = this._get_event_bar_pos(c), g = f.x2 - f.x, p = document.createElement("div");
2998
+ var v = t.date, m = t._min_date;
2999
+ m = v.add(m, c._sweek, "week"), m = v.add(m, c._sday, "day");
3000
+ var l = t.getEvents(m, v.add(m, 1, "day")).length, f = this._get_event_bar_pos(c), g = f.x2 - f.x, p = document.createElement("div");
3019
3001
  t.event(p, "click", function(y) {
3020
3002
  t._view_month_day(y);
3021
- }), p.className = "dhx_month_link", p.style.top = f.y + "px", p.style.left = f.x + "px", p.style.width = g + "px", p.innerHTML = t.templates.month_events_link(v, l), this._rendered.push(p), s.appendChild(p);
3003
+ }), p.className = "dhx_month_link", p.style.top = f.y + "px", p.style.left = f.x + "px", p.style.width = g + "px", p.innerHTML = t.templates.month_events_link(m, l), this._rendered.push(p), s.appendChild(p);
3022
3004
  }
3023
3005
  }, t._recalculate_timed = function(r) {
3024
3006
  var s;
@@ -3030,16 +3012,16 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3030
3012
  if (t._mode != "month")
3031
3013
  this.render_event_bar(r[u]);
3032
3014
  else {
3033
- var m = t.config.max_month_events;
3034
- m !== 1 * m || r[u]._sorder < m ? this.render_event_bar(r[u]) : m !== void 0 && r[u]._sorder == m && t._render_month_link(r[u]);
3015
+ var v = t.config.max_month_events;
3016
+ v !== 1 * v || r[u]._sorder < v ? this.render_event_bar(r[u]) : v !== void 0 && r[u]._sorder == v && t._render_month_link(r[u]);
3035
3017
  }
3036
3018
  else {
3037
- var v = r[u], l = t.locate_holder(v._sday);
3019
+ var m = r[u], l = t.locate_holder(m._sday);
3038
3020
  if (!l)
3039
3021
  continue;
3040
- c[v._sday] || (c[v._sday] = { real: l, buffer: document.createDocumentFragment(), width: l.clientWidth });
3041
- var f = c[v._sday];
3042
- this.render_event(v, f.buffer, f.width);
3022
+ c[m._sday] || (c[m._sday] = { real: l, buffer: document.createDocumentFragment(), width: l.clientWidth });
3023
+ var f = c[m._sday];
3024
+ this.render_event(m, f.buffer, f.width);
3043
3025
  }
3044
3026
  for (var u in c)
3045
3027
  (f = c[u]).real && f.buffer && f.real.appendChild(f.buffer);
@@ -3049,35 +3031,35 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3049
3031
  return r[s];
3050
3032
  return r[0];
3051
3033
  }, t._pre_render_events = function(r, s) {
3052
- var c = this.xy.bar_height, u = this._colsS.heights, m = this._colsS.heights = [0, 0, 0, 0, 0, 0, 0], v = this._els.dhx_cal_data[0];
3034
+ var c = this.xy.bar_height, u = this._colsS.heights, v = this._colsS.heights = [0, 0, 0, 0, 0, 0, 0], m = this._els.dhx_cal_data[0];
3053
3035
  if (r = this._table_view ? this._pre_render_events_table(r, s) : this._pre_render_events_line(r, s), this._table_view)
3054
3036
  if (s)
3055
3037
  this._colsS.heights = u;
3056
3038
  else {
3057
- var l = v.querySelectorAll(".dhx_cal_month_row");
3039
+ var l = m.querySelectorAll(".dhx_cal_month_row");
3058
3040
  if (l.length) {
3059
3041
  for (var f = 0; f < l.length; f++) {
3060
- m[f]++;
3042
+ v[f]++;
3061
3043
  var g = l[f].querySelectorAll(".dhx_cal_month_cell"), p = this._colsS.height - this.xy.month_head_height;
3062
- if (m[f] * c > p) {
3044
+ if (v[f] * c > p) {
3063
3045
  var y = p;
3064
- 1 * this.config.max_month_events !== this.config.max_month_events || m[f] <= this.config.max_month_events ? y = m[f] * c : (this.config.max_month_events + 1) * c > p && (y = (this.config.max_month_events + 1) * c), l[f].style.height = y + this.xy.month_head_height + "px";
3046
+ 1 * this.config.max_month_events !== this.config.max_month_events || v[f] <= this.config.max_month_events ? y = v[f] * c : (this.config.max_month_events + 1) * c > p && (y = (this.config.max_month_events + 1) * c), l[f].style.height = y + this.xy.month_head_height + "px";
3065
3047
  }
3066
- m[f] = (m[f - 1] || 0) + t._get_first_visible_cell(g).offsetHeight;
3048
+ v[f] = (v[f - 1] || 0) + t._get_first_visible_cell(g).offsetHeight;
3067
3049
  }
3068
- m.unshift(0);
3050
+ v.unshift(0);
3069
3051
  const M = this.$container.querySelector(".dhx_cal_data");
3070
3052
  if (M.offsetHeight < M.scrollHeight && !t._colsS.scroll_fix && t.xy.scroll_width) {
3071
3053
  var w = t._colsS, b = w[w.col_length], k = w.heights.slice();
3072
3054
  b -= t.xy.scroll_width || 0, this._calc_scale_sizes(b, this._min_date, this._max_date), t._colsS.heights = k, this.set_xy(this._els.dhx_cal_header[0], b), t._render_scales(this._els.dhx_cal_header[0]), t._render_month_scale(this._els.dhx_cal_data[0], this._get_timeunit_start(), this._min_date), w.scroll_fix = !0;
3073
3055
  }
3074
- } else if (r.length || this._els.dhx_multi_day[0].style.visibility != "visible" || (m[0] = -1), r.length || m[0] == -1) {
3075
- var E = (m[0] + 1) * c + 4, D = E, x = E + "px";
3076
- this.config.multi_day_height_limit && (x = (D = Math.min(E, this.config.multi_day_height_limit)) + "px"), t._is_new_skin() || (v.style.top = this._els.dhx_cal_navline[0].offsetHeight + this._els.dhx_cal_header[0].offsetHeight + D + "px", v.style.height = this._obj.offsetHeight - parseInt(v.style.top, 10) - (this.xy.margin_top || 0) + "px");
3056
+ } else if (r.length || this._els.dhx_multi_day[0].style.visibility != "visible" || (v[0] = -1), r.length || v[0] == -1) {
3057
+ var E = (v[0] + 1) * c + 4, D = E, x = E + "px";
3058
+ this.config.multi_day_height_limit && (x = (D = Math.min(E, this.config.multi_day_height_limit)) + "px");
3077
3059
  var S = this._els.dhx_multi_day[0];
3078
- S.style.height = x, S.style.visibility = m[0] == -1 ? "hidden" : "visible", S.style.display = m[0] == -1 ? "none" : "";
3060
+ S.style.height = x, S.style.visibility = v[0] == -1 ? "hidden" : "visible", S.style.display = v[0] == -1 ? "none" : "";
3079
3061
  var N = this._els.dhx_multi_day[1];
3080
- N.style.height = x, N.style.visibility = m[0] == -1 ? "hidden" : "visible", N.style.display = m[0] == -1 ? "none" : "", N.className = m[0] ? "dhx_multi_day_icon" : "dhx_multi_day_icon_small", this._dy_shift = (m[0] + 1) * c, this.config.multi_day_height_limit && (this._dy_shift = Math.min(this.config.multi_day_height_limit, this._dy_shift)), m[0] = 0, D != E && (t._is_new_skin() || (v.style.top = parseInt(v.style.top) + 2 + "px"), S.style.overflowY = "auto", N.style.position = "fixed", N.style.top = "", N.style.left = "");
3062
+ N.style.height = x, N.style.visibility = v[0] == -1 ? "hidden" : "visible", N.style.display = v[0] == -1 ? "none" : "", N.className = v[0] ? "dhx_multi_day_icon" : "dhx_multi_day_icon_small", this._dy_shift = (v[0] + 1) * c, this.config.multi_day_height_limit && (this._dy_shift = Math.min(this.config.multi_day_height_limit, this._dy_shift)), v[0] = 0, D != E && (S.style.overflowY = "auto", N.style.position = "fixed", N.style.top = "", N.style.left = "");
3081
3063
  }
3082
3064
  }
3083
3065
  return r;
@@ -3097,22 +3079,22 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3097
3079
  });
3098
3080
  var c = [], u = [];
3099
3081
  this._min_mapped_duration = Math.floor(60 * this.xy.min_event_height / this.config.hour_size_px);
3100
- for (var m = 0; m < r.length; m++) {
3101
- var v = r[m], l = v.start_date, f = v.end_date, g = l.getHours(), p = f.getHours();
3102
- if (v._sday = this._get_event_sday(v), this._ignores[v._sday])
3103
- r.splice(m, 1), m--;
3082
+ for (var v = 0; v < r.length; v++) {
3083
+ var m = r[v], l = m.start_date, f = m.end_date, g = l.getHours(), p = f.getHours();
3084
+ if (m._sday = this._get_event_sday(m), this._ignores[m._sday])
3085
+ r.splice(v, 1), v--;
3104
3086
  else {
3105
- if (c[v._sday] || (c[v._sday] = []), !s) {
3106
- v._inner = !1;
3107
- for (var y = c[v._sday]; y.length; ) {
3087
+ if (c[m._sday] || (c[m._sday] = []), !s) {
3088
+ m._inner = !1;
3089
+ for (var y = c[m._sday]; y.length; ) {
3108
3090
  var w = y[y.length - 1];
3109
- if (!(this._get_event_mapped_end_date(w).valueOf() <= v.start_date.valueOf()))
3091
+ if (!(this._get_event_mapped_end_date(w).valueOf() <= m.start_date.valueOf()))
3110
3092
  break;
3111
3093
  y.splice(y.length - 1, 1);
3112
3094
  }
3113
3095
  for (var b = y.length, k = !1, E = 0; E < y.length; E++)
3114
- if (w = y[E], this._get_event_mapped_end_date(w).valueOf() <= v.start_date.valueOf()) {
3115
- k = !0, v._sorder = w._sorder, b = E, v._inner = !0;
3096
+ if (w = y[E], this._get_event_mapped_end_date(w).valueOf() <= m.start_date.valueOf()) {
3097
+ k = !0, m._sorder = w._sorder, b = E, m._inner = !0;
3116
3098
  break;
3117
3099
  }
3118
3100
  if (y.length && (y[y.length - 1]._inner = !0), !k)
@@ -3126,31 +3108,31 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3126
3108
  break;
3127
3109
  }
3128
3110
  if (!D) {
3129
- v._sorder = E;
3111
+ m._sorder = E;
3130
3112
  break;
3131
3113
  }
3132
3114
  }
3133
3115
  else
3134
- v._sorder = 0;
3135
- v._inner = !0;
3116
+ m._sorder = 0;
3117
+ m._inner = !0;
3136
3118
  } else {
3137
3119
  var S = y[0]._sorder;
3138
3120
  for (E = 1; E < y.length; E++)
3139
3121
  y[E]._sorder > S && (S = y[E]._sorder);
3140
- v._sorder = S + 1, v._inner = !1;
3122
+ m._sorder = S + 1, m._inner = !1;
3141
3123
  }
3142
3124
  else
3143
- v._sorder = 0;
3144
- y.splice(b, b == y.length ? 0 : 1, v), y.length > (y.max_count || 0) ? (y.max_count = y.length, v._count = y.length) : v._count = v._count ? v._count : 1;
3125
+ m._sorder = 0;
3126
+ y.splice(b, b == y.length ? 0 : 1, m), y.length > (y.max_count || 0) ? (y.max_count = y.length, m._count = y.length) : m._count = m._count ? m._count : 1;
3145
3127
  }
3146
- (g < this.config.first_hour || p >= this.config.last_hour) && (u.push(v), r[m] = v = this._copy_event(v), g < this.config.first_hour && (v.start_date.setHours(this.config.first_hour), v.start_date.setMinutes(0)), p >= this.config.last_hour && (v.end_date.setMinutes(0), v.end_date.setHours(this.config.last_hour)), v.start_date > v.end_date || g == this.config.last_hour) && (r.splice(m, 1), m--);
3128
+ (g < this.config.first_hour || p >= this.config.last_hour) && (u.push(m), r[v] = m = this._copy_event(m), g < this.config.first_hour && (m.start_date.setHours(this.config.first_hour), m.start_date.setMinutes(0)), p >= this.config.last_hour && (m.end_date.setMinutes(0), m.end_date.setHours(this.config.last_hour)), m.start_date > m.end_date || g == this.config.last_hour) && (r.splice(v, 1), v--);
3147
3129
  }
3148
3130
  }
3149
3131
  if (!s) {
3150
- for (m = 0; m < r.length; m++)
3151
- r[m]._count = c[r[m]._sday].max_count;
3152
- for (m = 0; m < u.length; m++)
3153
- u[m]._count = c[u[m]._sday].max_count;
3132
+ for (v = 0; v < r.length; v++)
3133
+ r[v]._count = c[r[v]._sday].max_count;
3134
+ for (v = 0; v < u.length; v++)
3135
+ u[v]._count = c[u[v]._sday].max_count;
3154
3136
  }
3155
3137
  return r;
3156
3138
  }, t._time_order = function(r) {
@@ -3158,20 +3140,20 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3158
3140
  return s.start_date.valueOf() == c.start_date.valueOf() ? s._timed && !c._timed ? 1 : !s._timed && c._timed ? -1 : s.id > c.id ? 1 : -1 : s.start_date > c.start_date ? 1 : -1;
3159
3141
  });
3160
3142
  }, t._is_any_multiday_cell_visible = function(r, s, c) {
3161
- var u = this._cols.length, m = !1, v = r, l = !0, f = new Date(s);
3162
- for (t.date.day_start(new Date(s)).valueOf() != s.valueOf() && (f = t.date.day_start(f), f = t.date.add(f, 1, "day")); v < f; ) {
3143
+ var u = this._cols.length, v = !1, m = r, l = !0, f = new Date(s);
3144
+ for (t.date.day_start(new Date(s)).valueOf() != s.valueOf() && (f = t.date.day_start(f), f = t.date.add(f, 1, "day")); m < f; ) {
3163
3145
  l = !1;
3164
- var g = this.locate_holder_day(v, !1, c) % u;
3146
+ var g = this.locate_holder_day(m, !1, c) % u;
3165
3147
  if (!this._ignores[g]) {
3166
- m = !0;
3148
+ v = !0;
3167
3149
  break;
3168
3150
  }
3169
- v = t.date.add(v, 1, "day");
3151
+ m = t.date.add(m, 1, "day");
3170
3152
  }
3171
- return l || m;
3153
+ return l || v;
3172
3154
  }, t._pre_render_events_table = function(r, s) {
3173
3155
  this._time_order(r);
3174
- for (var c, u = [], m = [[], [], [], [], [], [], []], v = this._colsS.heights, l = this._cols.length, f = {}, g = 0; g < r.length; g++) {
3156
+ for (var c, u = [], v = [[], [], [], [], [], [], []], m = this._colsS.heights, l = this._cols.length, f = {}, g = 0; g < r.length; g++) {
3175
3157
  var p = r[g], y = p.id;
3176
3158
  f[y] || (f[y] = { first_chunk: !0, last_chunk: !0 });
3177
3159
  var w = f[y], b = c || p.start_date, k = p.end_date;
@@ -3180,14 +3162,14 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3180
3162
  if (p._sday = E % l, !this._ignores[p._sday] || !p._timed) {
3181
3163
  var D = this.locate_holder_day(k, !0, p) || l;
3182
3164
  if (p._eday = D % l || l, p._length = D - E, p._sweek = Math.floor((this._correct_shift(b.valueOf(), 1) - this._min_date.valueOf()) / (864e5 * l)), t._is_any_multiday_cell_visible(b, k, p)) {
3183
- var x, S = m[p._sweek];
3165
+ var x, S = v[p._sweek];
3184
3166
  for (x = 0; x < S.length && !(S[x]._eday <= p._sday); x++)
3185
3167
  ;
3186
3168
  if (p._sorder && s || (p._sorder = x), p._sday + p._length <= l)
3187
- c = null, u.push(p), S[x] = p, v[p._sweek] = S.length - 1, p._first_chunk = w.first_chunk, p._last_chunk = w.last_chunk;
3169
+ c = null, u.push(p), S[x] = p, m[p._sweek] = S.length - 1, p._first_chunk = w.first_chunk, p._last_chunk = w.last_chunk;
3188
3170
  else {
3189
3171
  var N = this._copy_event(p);
3190
- N.id = p.id, N._length = l - p._sday, N._eday = l, N._sday = p._sday, N._sweek = p._sweek, N._sorder = p._sorder, N.end_date = this.date.add(b, N._length, "day"), N._first_chunk = w.first_chunk, w.first_chunk && (w.first_chunk = !1), u.push(N), S[x] = N, c = N.end_date, v[p._sweek] = S.length - 1, g--;
3172
+ N.id = p.id, N._length = l - p._sday, N._eday = l, N._sday = p._sday, N._sweek = p._sweek, N._sorder = p._sorder, N.end_date = this.date.add(b, N._length, "day"), N._first_chunk = w.first_chunk, w.first_chunk && (w.first_chunk = !1), u.push(N), S[x] = N, c = N.end_date, m[p._sweek] = S.length - 1, g--;
3191
3173
  }
3192
3174
  }
3193
3175
  }
@@ -3219,23 +3201,23 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3219
3201
  var c = 60 * r.start_date.getHours() + r.start_date.getMinutes(), u = 60 * r.end_date.getHours() + r.end_date.getMinutes() || 60 * t.config.last_hour;
3220
3202
  return { top: this._y_from_date(r.start_date), height: Math.max(s, (u - c) * this.config.hour_size_px / 60) };
3221
3203
  }, t.render_event = function(r, s, c) {
3222
- var u = t.xy.menu_width, m = this.config.use_select_menu_space ? 0 : u;
3204
+ var u = t.xy.menu_width, v = this.config.use_select_menu_space ? 0 : u;
3223
3205
  if (!(r._sday < 0)) {
3224
- var v = t.locate_holder(r._sday);
3225
- if (v) {
3226
- s = s || v;
3206
+ var m = t.locate_holder(r._sday);
3207
+ if (m) {
3208
+ s = s || m;
3227
3209
  var l = this._calc_event_y(r, t.xy.min_event_height), f = l.top, g = l.height, p = r._count || 1, y = r._sorder || 0;
3228
- c = c || v.clientWidth, this.config.day_column_padding && (c -= this.config.day_column_padding);
3229
- var w = Math.floor((c - m) / p), b = y * w + (y > 0 ? 2 : 1);
3210
+ c = c || m.clientWidth, this.config.day_column_padding && (c -= this.config.day_column_padding);
3211
+ var w = Math.floor((c - v) / p), b = y * w + (y > 0 ? 2 : 1);
3230
3212
  if (r._inner || (w *= p - y), this.config.cascade_event_display) {
3231
3213
  var k = this.config.cascade_event_count, E = this.config.cascade_event_margin;
3232
3214
  b = y % k * E;
3233
3215
  var D = r._inner ? (p - y - 1) % k * E / 2 : 0;
3234
- w = Math.floor(c - m - b - D);
3216
+ w = Math.floor(c - v - b - D);
3235
3217
  }
3236
3218
  r._mode = g < 30 ? "smallest" : g < 42 ? "small" : null;
3237
- var x = this._render_v_bar(r, m + b, f, w, g, r._text_style, t.templates.event_header(r.start_date, r.end_date, r), t.templates.event_text(r.start_date, r.end_date, r));
3238
- if (r._mode === "smallest" ? x.classList.add("dhx_cal_event--xsmall") : r._mode === "small" && x.classList.add("dhx_cal_event--small"), this._waiAria.eventAttr(r, x), this._rendered.push(x), s.appendChild(x), b = b + parseInt(this.config.rtl ? v.style.right : v.style.left, 10) + m, this._edit_id == r.id) {
3219
+ var x = this._render_v_bar(r, v + b, f, w, g, r._text_style, t.templates.event_header(r.start_date, r.end_date, r), t.templates.event_text(r.start_date, r.end_date, r));
3220
+ if (r._mode === "smallest" ? x.classList.add("dhx_cal_event--xsmall") : r._mode === "small" && x.classList.add("dhx_cal_event--small"), this._waiAria.eventAttr(r, x), this._rendered.push(x), s.appendChild(x), b = b + parseInt(this.config.rtl ? m.style.right : m.style.left, 10) + v, this._edit_id == r.id) {
3239
3221
  x.style.zIndex = 1, w = Math.max(w, t.xy.editor_width), (x = document.createElement("div")).setAttribute("event_id", r.id), x.setAttribute(this.config.event_attribute, r.id), this._waiAria.eventAttr(r, x), x.className = "dhx_cal_event dhx_cal_editor", this.config.rtl && b++, this.set_xy(x, w, g, b, f), r.color && x.style.setProperty("--dhx-scheduler-event-background", r.color);
3240
3222
  var S = t.templates.event_class(r.start_date, r.end_date, r);
3241
3223
  S && (x.className += " " + S);
@@ -3261,15 +3243,15 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3261
3243
  this.config.drag_highlight && this._drag_id == r.id && this.highlightEventPosition(r);
3262
3244
  }
3263
3245
  }
3264
- }, t._render_v_bar = function(r, s, c, u, m, v, l, f, g) {
3246
+ }, t._render_v_bar = function(r, s, c, u, v, m, l, f, g) {
3265
3247
  var p = document.createElement("div"), y = r.id, w = g ? "dhx_cal_event dhx_cal_select_menu" : "dhx_cal_event", b = t.getState();
3266
3248
  b.drag_id == r.id && (w += " dhx_cal_event_drag"), b.select_id == r.id && (w += " dhx_cal_event_selected");
3267
3249
  var k = t.templates.event_class(r.start_date, r.end_date, r);
3268
3250
  k && (w = w + " " + k), this.config.cascade_event_display && (w += " dhx_cal_event_cascade");
3269
- var E = u, D = '<div event_id="' + y + '" ' + this.config.event_attribute + '="' + y + '" class="' + w + '" style="position:absolute; top:' + c + "px; " + (this.config.rtl ? "right:" : "left:") + s + "px; width:" + E + "px; height:" + m + "px;" + (v || "") + '"></div>';
3251
+ var E = u, D = '<div event_id="' + y + '" ' + this.config.event_attribute + '="' + y + '" class="' + w + '" style="position:absolute; top:' + c + "px; " + (this.config.rtl ? "right:" : "left:") + s + "px; width:" + E + "px; height:" + v + "px;" + (m || "") + '"></div>';
3270
3252
  p.innerHTML = D;
3271
3253
  var x = p.cloneNode(!0).firstChild;
3272
- if (!g && t.renderEvent(x, r, u, m, l, f))
3254
+ if (!g && t.renderEvent(x, r, u, v, l, f))
3273
3255
  return r.color && x.style.setProperty("--dhx-scheduler-event-background", r.color), r.textColor && x.style.setProperty("--dhx-scheduler-event-color", r.textColor), x;
3274
3256
  x = p.firstChild, r.color && x.style.setProperty("--dhx-scheduler-event-background", r.color), r.textColor && x.style.setProperty("--dhx-scheduler-event-color", r.textColor);
3275
3257
  var S = '<div class="dhx_event_move dhx_header" >&nbsp;</div>';
@@ -3291,23 +3273,23 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3291
3273
  r--, u -= s;
3292
3274
  return Math.max(r, 0);
3293
3275
  }, t._get_event_bar_pos = function(r) {
3294
- var s = this.config.rtl, c = this._colsS, u = c[r._sday], m = c[r._eday];
3295
- s && (u = c[c.col_length] - c[r._eday] + c[0], m = c[c.col_length] - c[r._sday] + c[0]), m == u && (m = c[r._eday + 1]);
3296
- var v = this.xy.bar_height, l = r._sorder;
3276
+ var s = this.config.rtl, c = this._colsS, u = c[r._sday], v = c[r._eday];
3277
+ s && (u = c[c.col_length] - c[r._eday] + c[0], v = c[c.col_length] - c[r._sday] + c[0]), v == u && (v = c[r._eday + 1]);
3278
+ var m = this.xy.bar_height, l = r._sorder;
3297
3279
  if (r.id == this._drag_id) {
3298
3280
  var f = c.heights[r._sweek + 1] - c.heights[r._sweek] - this.xy.month_head_height;
3299
- l = t._get_dnd_order(l, v, f);
3281
+ l = t._get_dnd_order(l, m, f);
3300
3282
  }
3301
- var g = l * v;
3302
- return { x: u, x2: m, y: c.heights[r._sweek] + (c.height ? this.xy.month_scale_height + 2 : 2) + g };
3283
+ var g = l * m;
3284
+ return { x: u, x2: v, y: c.heights[r._sweek] + (c.height ? this.xy.month_scale_height + 2 : 2) + g };
3303
3285
  }, t.render_event_bar = function(r) {
3304
- var s = this._rendered_location, c = this._get_event_bar_pos(r), u = c.y, m = c.x, v = c.x2, l = "";
3305
- if (v) {
3286
+ var s = this._rendered_location, c = this._get_event_bar_pos(r), u = c.y, v = c.x, m = c.x2, l = "";
3287
+ if (m) {
3306
3288
  var f = t.config.resize_month_events && this._mode == "month" && (!r._timed || t.config.resize_month_timed), g = document.createElement("div"), p = r.hasOwnProperty("_first_chunk") && r._first_chunk, y = r.hasOwnProperty("_last_chunk") && r._last_chunk, w = f && (r._timed || p), b = f && (r._timed || y), k = !0, E = "dhx_cal_event_clear";
3307
3289
  r._timed && !f || (k = !1, E = "dhx_cal_event_line"), p && (E += " dhx_cal_event_line_start"), y && (E += " dhx_cal_event_line_end"), w && (l += "<div class='dhx_event_resize dhx_event_resize_start'></div>"), b && (l += "<div class='dhx_event_resize dhx_event_resize_end'></div>");
3308
3290
  var D = t.templates.event_class(r.start_date, r.end_date, r);
3309
3291
  D && (E += " " + D);
3310
- var x = r.color ? "--dhx-scheduler-event-background:" + r.color + ";" : "", S = r.textColor ? "--dhx-scheduler-event-text:" + r.textColor + ";" : "", N = ["position:absolute", "top:" + u + "px", "left:" + m + "px", "width:" + (v - m - (k ? 1 : 0)) + "px", "height:" + (this.xy.bar_height - 2) + "px", S, x, r._text_style || ""].join(";"), M = "<div event_id='" + r.id + "' " + this.config.event_attribute + "='" + r.id + "' class='" + E + "' style='" + N + "'" + this._waiAria.eventBarAttrString(r) + ">";
3292
+ var x = r.color ? "--dhx-scheduler-event-background:" + r.color + ";" : "", S = r.textColor ? "--dhx-scheduler-event-text:" + r.textColor + ";" : "", N = ["position:absolute", "top:" + u + "px", "left:" + v + "px", "width:" + (m - v - (k ? 1 : 0)) + "px", "height:" + (this.xy.bar_height - 2) + "px", S, x, r._text_style || ""].join(";"), M = "<div event_id='" + r.id + "' " + this.config.event_attribute + "='" + r.id + "' class='" + E + "' style='" + N + "'" + this._waiAria.eventBarAttrString(r) + ">";
3311
3293
  f && (M += l), t.getState().mode == "month" && (r = t.getEvent(r.id)), r._timed && (M += `<span class='dhx_cal_event_clear_date'>${t.templates.event_bar_date(r.start_date, r.end_date, r)}</span>`), M += "<div class='dhx_cal_event_line_content'>", M += t.templates.event_bar_text(r.start_date, r.end_date, r) + "</div>", M += "</div>", M += "</div>", g.innerHTML = M, this._rendered.push(g.firstChild), s.appendChild(g.firstChild);
3312
3294
  }
3313
3295
  }, t._locate_event = function(r) {
@@ -3326,8 +3308,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3326
3308
  }, t.getEvents = function(r, s) {
3327
3309
  var c = [];
3328
3310
  for (var u in this._events) {
3329
- var m = this._events[u];
3330
- m && (!r && !s || m.start_date < s && m.end_date > r) && c.push(m);
3311
+ var v = this._events[u];
3312
+ v && (!r && !s || v.start_date < s && v.end_date > r) && c.push(v);
3331
3313
  }
3332
3314
  return c;
3333
3315
  }, t.getRenderedEvent = function(r) {
@@ -3345,10 +3327,10 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3345
3327
  if (s = s || t._mode, c && (!this.checkEvent("onBeforeEventDisplay") || this.callEvent("onBeforeEventDisplay", [c, s]))) {
3346
3328
  var u = t.config.scroll_hour;
3347
3329
  t.config.scroll_hour = c.start_date.getHours();
3348
- var m = t.config.preserve_scroll;
3330
+ var v = t.config.preserve_scroll;
3349
3331
  t.config.preserve_scroll = !1;
3350
- var v = c.color, l = c.textColor;
3351
- if (t.config.highlight_displayed_event && (c.color = t.config.displayed_event_color, c.textColor = t.config.displayed_event_text_color), t.setCurrentView(new Date(c.start_date), s), t.config.scroll_hour = u, t.config.preserve_scroll = m, t.matrix && t.matrix[s]) {
3332
+ var m = c.color, l = c.textColor;
3333
+ if (t.config.highlight_displayed_event && (c.color = t.config.displayed_event_color, c.textColor = t.config.displayed_event_text_color), t.setCurrentView(new Date(c.start_date), s), t.config.scroll_hour = u, t.config.preserve_scroll = v, t.matrix && t.matrix[s]) {
3352
3334
  var f = t.getView(), g = f.y_property, p = t.getEvent(c.id);
3353
3335
  if (p) {
3354
3336
  if (!y) {
@@ -3367,7 +3349,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3367
3349
  t.callEvent("onAfterEventDisplay", [c, s]);
3368
3350
  }
3369
3351
  function D() {
3370
- c.color = v, c.textColor = l;
3352
+ c.color = m, c.textColor = l;
3371
3353
  }
3372
3354
  };
3373
3355
  }(h), function(t) {
@@ -3395,13 +3377,13 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3395
3377
  ;
3396
3378
  if (u === c.length)
3397
3379
  return null;
3398
- var m = c[u];
3380
+ var v = c[u];
3399
3381
  t._lightbox || t.getLightbox();
3400
- var v = t._lightbox.querySelector(`#${m.id}`), l = v.nextSibling, f = { section: m, header: v, node: l, getValue: function(p) {
3401
- return t.form_blocks[m.type].get_value(l, p || {}, m);
3382
+ var m = t._lightbox.querySelector(`#${v.id}`), l = m.nextSibling, f = { section: v, header: m, node: l, getValue: function(p) {
3383
+ return t.form_blocks[v.type].get_value(l, p || {}, v);
3402
3384
  }, setValue: function(p, y) {
3403
- return t.form_blocks[m.type].set_value(l, p, y || {}, m);
3404
- } }, g = t._lightbox_controls["get_" + m.type + "_control"];
3385
+ return t.form_blocks[v.type].set_value(l, p, y || {}, v);
3386
+ } }, g = t._lightbox_controls["get_" + v.type + "_control"];
3405
3387
  return g ? g(f) : f;
3406
3388
  }, t._lightbox_controls.get_template_control = function(s) {
3407
3389
  return s.control = s.node, s;
@@ -3413,7 +3395,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3413
3395
  return s.control = s.node.getElementsByTagName("select"), s;
3414
3396
  }, t._lightbox_controls.defaults = { template: { height: 30 }, textarea: { height: 200 }, select: { height: 23 }, time: { height: 20 } }, t.form_blocks = { template: { render: function(s) {
3415
3397
  return "<div class='dhx_cal_ltext dhx_cal_template' ></div>";
3416
- }, set_value: function(s, c, u, m) {
3398
+ }, set_value: function(s, c, u, v) {
3417
3399
  s.innerHTML = c || "";
3418
3400
  }, get_value: function(s, c, u) {
3419
3401
  return s.innerHTML || "";
@@ -3433,9 +3415,9 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3433
3415
  for (var c = "<div class='dhx_cal_ltext dhx_cal_select'><select style='width:100%;'>", u = 0; u < s.options.length; u++)
3434
3416
  c += "<option value='" + s.options[u].key + "'>" + s.options[u].label + "</option>";
3435
3417
  return c + "</select></div>";
3436
- }, set_value: function(s, c, u, m) {
3437
- var v = s.firstChild;
3438
- !v._dhx_onchange && m.onchange && (t.event(v, "change", m.onchange), v._dhx_onchange = !0), c === void 0 && (c = (v.options[0] || {}).value), v.value = c || "";
3418
+ }, set_value: function(s, c, u, v) {
3419
+ var m = s.firstChild;
3420
+ !m._dhx_onchange && v.onchange && (t.event(m, "change", v.onchange), m._dhx_onchange = !0), c === void 0 && (c = (m.options[0] || {}).value), m.value = c || "";
3439
3421
  }, get_value: function(s, c) {
3440
3422
  return s.firstChild.value;
3441
3423
  }, focus: function(s) {
@@ -3443,8 +3425,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3443
3425
  t._focus(c, !0);
3444
3426
  } }, time: { render: function(s) {
3445
3427
  s.time_format || (s.time_format = ["%H:%i", "%d", "%m", "%Y"]), s._time_format_order = {};
3446
- var c = s.time_format, u = t.config, m = t.date.date_part(t._currentDate()), v = 1440, l = 0;
3447
- t.config.limit_time_select && (v = 60 * u.last_hour + 1, l = 60 * u.first_hour, m.setHours(u.first_hour));
3428
+ var c = s.time_format, u = t.config, v = t.date.date_part(t._currentDate()), m = 1440, l = 0;
3429
+ t.config.limit_time_select && (m = 60 * u.last_hour + 1, l = 60 * u.first_hour, v.setHours(u.first_hour));
3448
3430
  for (var f = "", g = 0; g < c.length; g++) {
3449
3431
  var p = c[g];
3450
3432
  g > 0 && (f += " ");
@@ -3454,7 +3436,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3454
3436
  var b, k, E;
3455
3437
  y = "dhx_lightbox_year_select", s._time_format_order[3] = g, s.year_range && (isNaN(s.year_range) ? s.year_range.push && (k = s.year_range[0], E = s.year_range[1]) : b = s.year_range), b = b || 10;
3456
3438
  var D = D || Math.floor(b / 2);
3457
- k = k || m.getFullYear() - D, E = E || k + b;
3439
+ k = k || v.getFullYear() - D, E = E || k + b;
3458
3440
  for (var x = k; x < E; x++)
3459
3441
  w += "<option value='" + x + "'>" + x + "</option>";
3460
3442
  break;
@@ -3468,9 +3450,9 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3468
3450
  break;
3469
3451
  case "%H:%i":
3470
3452
  y = "dhx_lightbox_time_select", s._time_format_order[0] = g, x = l;
3471
- var S = m.getDate();
3472
- for (s._time_values = []; x < v; )
3473
- w += "<option value='" + x + "'>" + this.templates.time_picker(m) + "</option>", s._time_values.push(x), m.setTime(m.valueOf() + 60 * this.config.time_step * 1e3), x = 24 * (m.getDate() != S ? 1 : 0) * 60 + 60 * m.getHours() + m.getMinutes();
3453
+ var S = v.getDate();
3454
+ for (s._time_values = []; x < m; )
3455
+ w += "<option value='" + x + "'>" + this.templates.time_picker(v) + "</option>", s._time_values.push(x), v.setTime(v.valueOf() + 60 * this.config.time_step * 1e3), x = 24 * (v.getDate() != S ? 1 : 0) * 60 + 60 * v.getHours() + v.getMinutes();
3474
3456
  }
3475
3457
  if (w) {
3476
3458
  var N = t._waiAria.lightboxSelectAttrString(p);
@@ -3478,8 +3460,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3478
3460
  }
3479
3461
  }
3480
3462
  return "<div class='dhx_section_time'>" + f + "<span style='font-weight:normal; font-size:10pt;' class='dhx_section_time_spacer'> &nbsp;&ndash;&nbsp; </span>" + f + "</div>";
3481
- }, set_value: function(s, c, u, m) {
3482
- var v, l, f = t.config, g = s.getElementsByTagName("select"), p = m._time_format_order;
3463
+ }, set_value: function(s, c, u, v) {
3464
+ var m, l, f = t.config, g = s.getElementsByTagName("select"), p = v._time_format_order;
3483
3465
  if (f.full_day) {
3484
3466
  if (!s._full_day) {
3485
3467
  var y = "<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> " + t.locale.labels.full_day + "&nbsp;</label></input>";
@@ -3489,19 +3471,19 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3489
3471
  w.checked = t.date.time_part(u.start_date) === 0 && t.date.time_part(u.end_date) === 0, g[p[0]].disabled = w.checked, g[p[0] + g.length / 2].disabled = w.checked, w.$_eventAttached || (w.$_eventAttached = !0, t.event(w, "click", function() {
3490
3472
  if (w.checked) {
3491
3473
  var D = {};
3492
- t.form_blocks.time.get_value(s, D, m), v = t.date.date_part(D.start_date), (+(l = t.date.date_part(D.end_date)) == +v || +l >= +v && (u.end_date.getHours() !== 0 || u.end_date.getMinutes() !== 0)) && (l = t.date.add(l, 1, "day"));
3474
+ t.form_blocks.time.get_value(s, D, v), m = t.date.date_part(D.start_date), (+(l = t.date.date_part(D.end_date)) == +m || +l >= +m && (u.end_date.getHours() !== 0 || u.end_date.getMinutes() !== 0)) && (l = t.date.add(l, 1, "day"));
3493
3475
  } else
3494
- v = null, l = null;
3495
- g[p[0]].disabled = w.checked, g[p[0] + g.length / 2].disabled = w.checked, E(g, 0, v || u.start_date), E(g, 4, l || u.end_date);
3476
+ m = null, l = null;
3477
+ g[p[0]].disabled = w.checked, g[p[0] + g.length / 2].disabled = w.checked, E(g, 0, m || u.start_date), E(g, 4, l || u.end_date);
3496
3478
  }));
3497
3479
  }
3498
3480
  if (f.auto_end_date && f.event_duration)
3499
3481
  for (var b = function() {
3500
- f.auto_end_date && f.event_duration && (v = new Date(g[p[3]].value, g[p[2]].value, g[p[1]].value, 0, g[p[0]].value), l = new Date(v.getTime() + 60 * t.config.event_duration * 1e3), E(g, 4, l));
3482
+ f.auto_end_date && f.event_duration && (m = new Date(g[p[3]].value, g[p[2]].value, g[p[1]].value, 0, g[p[0]].value), l = new Date(m.getTime() + 60 * t.config.event_duration * 1e3), E(g, 4, l));
3501
3483
  }, k = 0; k < 4; k++)
3502
3484
  g[k].$_eventAttached || (g[k].$_eventAttached = !0, t.event(g[k], "change", b));
3503
3485
  function E(D, x, S) {
3504
- for (var N = m._time_values, M = 60 * S.getHours() + S.getMinutes(), A = M, C = !1, T = 0; T < N.length; T++) {
3486
+ for (var N = v._time_values, M = 60 * S.getHours() + S.getMinutes(), A = M, C = !1, T = 0; T < N.length; T++) {
3505
3487
  var O = N[T];
3506
3488
  if (O === M) {
3507
3489
  C = !0;
@@ -3513,8 +3495,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3513
3495
  }
3514
3496
  E(g, 0, u.start_date), E(g, 4, u.end_date);
3515
3497
  }, get_value: function(s, c, u) {
3516
- var m = s.getElementsByTagName("select"), v = u._time_format_order;
3517
- if (c.start_date = new Date(m[v[3]].value, m[v[2]].value, m[v[1]].value, 0, m[v[0]].value), c.end_date = new Date(m[v[3] + 4].value, m[v[2] + 4].value, m[v[1] + 4].value, 0, m[v[0] + 4].value), !m[v[3]].value || !m[v[3] + 4].value) {
3498
+ var v = s.getElementsByTagName("select"), m = u._time_format_order;
3499
+ if (c.start_date = new Date(v[m[3]].value, v[m[2]].value, v[m[1]].value, 0, v[m[0]].value), c.end_date = new Date(v[m[3] + 4].value, v[m[2] + 4].value, v[m[1] + 4].value, 0, v[m[0] + 4].value), !v[m[3]].value || !v[m[3] + 4].value) {
3518
3500
  var l = t.getEvent(t._lightbox_id);
3519
3501
  l && (c.start_date = l.start_date, c.end_date = l.end_date);
3520
3502
  }
@@ -3534,16 +3516,16 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3534
3516
  } else
3535
3517
  this._new_event && (this._new_event = null);
3536
3518
  }, t._fill_lightbox = function(s, c) {
3537
- var u = this.getEvent(s), m = c.getElementsByTagName("span"), v = [];
3519
+ var u = this.getEvent(s), v = c.getElementsByTagName("span"), m = [];
3538
3520
  if (t.templates.lightbox_header) {
3539
- v.push("");
3521
+ m.push("");
3540
3522
  var l = t.templates.lightbox_header(u.start_date, u.end_date, u);
3541
- v.push(l), m[1].innerHTML = "", m[2].innerHTML = l;
3523
+ m.push(l), v[1].innerHTML = "", v[2].innerHTML = l;
3542
3524
  } else {
3543
3525
  var f = this.templates.event_header(u.start_date, u.end_date, u), g = (this.templates.event_bar_text(u.start_date, u.end_date, u) || "").substr(0, 70);
3544
- v.push(f), v.push(g), m[1].innerHTML = f, m[2].innerHTML = g;
3526
+ m.push(f), m.push(g), v[1].innerHTML = f, v[2].innerHTML = g;
3545
3527
  }
3546
- this._waiAria.lightboxHeader(c, v.join(" "));
3528
+ this._waiAria.lightboxHeader(c, m.join(" "));
3547
3529
  for (var p = this.config.lightbox.sections, y = 0; y < p.length; y++) {
3548
3530
  var w = p[y], b = t._get_lightbox_section_node(w), k = this.form_blocks[w.type], E = u[w.map_to] !== void 0 ? u[w.map_to] : w.default_value;
3549
3531
  k.set_value.call(this, b, E, u, w), p[y].focus && k.focus.call(this, b);
@@ -3553,10 +3535,10 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3553
3535
  return t._lightbox.querySelector(`#${s.id}`).nextSibling;
3554
3536
  }, t._lightbox_out = function(s) {
3555
3537
  for (var c = this.config.lightbox.sections, u = 0; u < c.length; u++) {
3556
- var m = t._lightbox.querySelector(`#${c[u].id}`);
3557
- m = m && m.nextSibling;
3558
- var v = this.form_blocks[c[u].type].get_value.call(this, m, s, c[u]);
3559
- c[u].map_to != "auto" && (s[c[u].map_to] = v);
3538
+ var v = t._lightbox.querySelector(`#${c[u].id}`);
3539
+ v = v && v.nextSibling;
3540
+ var m = this.form_blocks[c[u].type].get_value.call(this, v, s, c[u]);
3541
+ c[u].map_to != "auto" && (s[c[u].map_to] = m);
3560
3542
  }
3561
3543
  return s;
3562
3544
  }, t._empty_lightbox = function(s) {
@@ -3598,8 +3580,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3598
3580
  }
3599
3581
  return;
3600
3582
  }
3601
- const m = u ? u.getAttribute("data-action") : null;
3602
- switch (m) {
3583
+ const v = u ? u.getAttribute("data-action") : null;
3584
+ switch (v) {
3603
3585
  case "dhx_save_btn":
3604
3586
  case "save":
3605
3587
  if (t.config.readonly_active)
@@ -3610,8 +3592,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3610
3592
  case "delete":
3611
3593
  if (t.config.readonly_active)
3612
3594
  return;
3613
- var v = t.locale.labels.confirm_deleting;
3614
- t._dhtmlx_confirm({ message: v, title: t.locale.labels.title_confirm_deleting, callback: function() {
3595
+ var m = t.locale.labels.confirm_deleting;
3596
+ t._dhtmlx_confirm({ message: m, title: t.locale.labels.title_confirm_deleting, callback: function() {
3615
3597
  t.deleteEvent(t._lightbox_id), t._new_event = null, t.hide_lightbox();
3616
3598
  }, config: { ok: t.locale.labels.icon_delete } });
3617
3599
  break;
@@ -3620,21 +3602,21 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3620
3602
  t.cancel_lightbox();
3621
3603
  break;
3622
3604
  default:
3623
- t.callEvent("onLightboxButton", [m, u, c]);
3605
+ t.callEvent("onLightboxButton", [v, u, c]);
3624
3606
  }
3625
3607
  }), t.event(s, "keydown", function(c) {
3626
- var u = c || window.event, m = c.target || c.srcElement, v = m.querySelector("[dhx_button]");
3627
- switch (v || (v = m.parentNode.querySelector(".dhx_custom_button, .dhx_readonly")), (c || u).keyCode) {
3608
+ var u = c || window.event, v = c.target || c.srcElement, m = v.querySelector("[dhx_button]");
3609
+ switch (m || (m = v.parentNode.querySelector(".dhx_custom_button, .dhx_readonly")), (c || u).keyCode) {
3628
3610
  case 32:
3629
3611
  if ((c || u).shiftKey)
3630
3612
  return;
3631
- v && v.click && v.click();
3613
+ m && m.click && m.click();
3632
3614
  break;
3633
3615
  case t.keys.edit_save:
3634
3616
  if ((c || u).shiftKey)
3635
3617
  return;
3636
- if (v && v.click)
3637
- v.click();
3618
+ if (m && m.click)
3619
+ m.click();
3638
3620
  else {
3639
3621
  if (t.config.readonly_active)
3640
3622
  return;
@@ -3666,49 +3648,49 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3666
3648
  s.className = "dhx_cal_light", t.config.wide_form && (s.className += " dhx_cal_light_wide"), t.form_blocks.recurring && (s.className += " dhx_cal_light_rec"), t.config.rtl && (s.className += " dhx_cal_light_rtl"), t.config.responsive_lightbox && (s.className += " dhx_cal_light_responsive"), s.style.visibility = "hidden";
3667
3649
  var c = this._lightbox_template, u = this.config.buttons_left;
3668
3650
  c += "<div class='dhx_cal_lcontrols'>";
3669
- for (var m = "", v = 0; v < u.length; v++)
3670
- c += "<div " + (m = this._waiAria.lightboxButtonAttrString(u[v])) + " data-action='" + u[v] + "' class='dhx_btn_set dhx_" + (t.config.rtl ? "right" : "left") + "_btn_set " + u[v] + "_set'><div class='dhx_btn_inner " + u[v] + "'></div><div>" + t.locale.labels[u[v]] + "</div></div>";
3651
+ for (var v = 0; v < u.length; v++)
3652
+ c += "<div " + this._waiAria.lightboxButtonAttrString(u[v]) + " data-action='" + u[v] + "' class='dhx_btn_set dhx_" + (t.config.rtl ? "right" : "left") + "_btn_set " + u[v] + "_set'><div class='dhx_btn_inner " + u[v] + "'></div><div>" + t.locale.labels[u[v]] + "</div></div>";
3671
3653
  u = this.config.buttons_right;
3672
- var l = t.config.rtl;
3654
+ var m = t.config.rtl;
3673
3655
  for (v = 0; v < u.length; v++)
3674
- m = this._waiAria.lightboxButtonAttrString(u[v]), t._is_new_skin() && (c += "<div class='dhx_cal_lcontrols_push_right'></div>"), c += "<div " + m + " data-action='" + u[v] + "' class='dhx_btn_set dhx_" + (l ? "left" : "right") + "_btn_set " + u[v] + "_set'><div class='dhx_btn_inner " + u[v] + "'></div><div>" + t.locale.labels[u[v]] + "</div></div>";
3675
- c += "</div>", c += "</div>", s.innerHTML = c, t.config.drag_lightbox && (t.event(s.firstChild, "mousedown", t._ready_to_dnd), t.event(s.firstChild, "selectstart", function(k) {
3676
- return k.preventDefault(), !1;
3656
+ c += "<div class='dhx_cal_lcontrols_push_right'></div>", c += "<div " + this._waiAria.lightboxButtonAttrString(u[v]) + " data-action='" + u[v] + "' class='dhx_btn_set dhx_" + (m ? "left" : "right") + "_btn_set " + u[v] + "_set'><div class='dhx_btn_inner " + u[v] + "'></div><div>" + t.locale.labels[u[v]] + "</div></div>";
3657
+ c += "</div>", c += "</div>", s.innerHTML = c, t.config.drag_lightbox && (t.event(s.firstChild, "mousedown", t._ready_to_dnd), t.event(s.firstChild, "selectstart", function(b) {
3658
+ return b.preventDefault(), !1;
3677
3659
  }), s.firstChild.style.cursor = "move", t._init_dnd_events()), this._waiAria.lightboxAttr(s), this.show_cover(), this._cover.insertBefore(s, this._cover.firstChild), this._lightbox = s;
3678
- var f = this.config.lightbox.sections;
3679
- for (c = "", v = 0; v < f.length; v++) {
3680
- var g = this.form_blocks[f[v].type];
3681
- if (g) {
3682
- f[v].id = "area_" + this.uid();
3683
- var p = "";
3684
- f[v].button && (p = "<div " + (m = t._waiAria.lightboxSectionButtonAttrString(this.locale.labels["button_" + f[v].button])) + " class='dhx_custom_button' data-section-index='" + v + "' index='" + v + "'><div class='dhx_custom_button_" + f[v].button + "'></div><div>" + this.locale.labels["button_" + f[v].button] + "</div></div>"), this.config.wide_form && (c += "<div class='dhx_wrap_section'>");
3685
- var y = this.locale.labels["section_" + f[v].name];
3686
- typeof y != "string" && (y = f[v].name), c += "<div id='" + f[v].id + "' class='dhx_cal_lsection'>" + p + "<label>" + y + "</label></div>" + g.render.call(this, f[v]), c += "</div>";
3660
+ var l = this.config.lightbox.sections;
3661
+ for (c = "", v = 0; v < l.length; v++) {
3662
+ var f = this.form_blocks[l[v].type];
3663
+ if (f) {
3664
+ l[v].id = "area_" + this.uid();
3665
+ var g = "";
3666
+ l[v].button && (g = "<div " + t._waiAria.lightboxSectionButtonAttrString(this.locale.labels["button_" + l[v].button]) + " class='dhx_custom_button' data-section-index='" + v + "' index='" + v + "'><div class='dhx_custom_button_" + l[v].button + "'></div><div>" + this.locale.labels["button_" + l[v].button] + "</div></div>"), this.config.wide_form && (c += "<div class='dhx_wrap_section'>");
3667
+ var p = this.locale.labels["section_" + l[v].name];
3668
+ typeof p != "string" && (p = l[v].name), c += "<div id='" + l[v].id + "' class='dhx_cal_lsection'>" + g + "<label>" + p + "</label></div>" + f.render.call(this, l[v]), c += "</div>";
3687
3669
  }
3688
3670
  }
3689
- var w = s.getElementsByTagName("div");
3690
- for (v = 0; v < w.length; v++) {
3691
- var b = w[v];
3692
- if (t._getClassName(b) == "dhx_cal_larea") {
3693
- b.innerHTML = c;
3671
+ var y = s.getElementsByTagName("div");
3672
+ for (v = 0; v < y.length; v++) {
3673
+ var w = y[v];
3674
+ if (t._getClassName(w) == "dhx_cal_larea") {
3675
+ w.innerHTML = c;
3694
3676
  break;
3695
3677
  }
3696
3678
  }
3697
- t._bindLightboxLabels(f), this.setLightboxSize(), this._init_lightbox_events(this), s.style.visibility = "visible";
3679
+ t._bindLightboxLabels(l), this.setLightboxSize(), this._init_lightbox_events(this), s.style.visibility = "visible";
3698
3680
  }
3699
3681
  return this._lightbox;
3700
3682
  }, t._bindLightboxLabels = function(s) {
3701
3683
  for (var c = 0; c < s.length; c++) {
3702
3684
  var u = s[c];
3703
3685
  if (u.id && t._lightbox.querySelector(`#${u.id}`)) {
3704
- for (var m = t._lightbox.querySelector(`#${u.id}`).querySelector("label"), v = t._get_lightbox_section_node(u); v && !v.querySelector; )
3705
- v = v.nextSibling;
3686
+ for (var v = t._lightbox.querySelector(`#${u.id}`).querySelector("label"), m = t._get_lightbox_section_node(u); m && !m.querySelector; )
3687
+ m = m.nextSibling;
3706
3688
  var l = !0;
3707
- if (v) {
3708
- var f = v.querySelector("input, select, textarea");
3709
- f && (u.inputId = f.id || "input_" + t.uid(), f.id || (f.id = u.inputId), m.setAttribute("for", u.inputId), l = !1);
3689
+ if (m) {
3690
+ var f = m.querySelector("input, select, textarea");
3691
+ f && (u.inputId = f.id || "input_" + t.uid(), f.id || (f.id = u.inputId), v.setAttribute("for", u.inputId), l = !1);
3710
3692
  }
3711
- l && t.form_blocks[u.type].focus && t.event(m, "click", function(g) {
3693
+ l && t.form_blocks[u.type].focus && t.event(v, "click", function(g) {
3712
3694
  return function() {
3713
3695
  var p = t.form_blocks[g.type], y = t._get_lightbox_section_node(g);
3714
3696
  p && p.focus && p.focus.call(t, y);
@@ -3756,14 +3738,14 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3756
3738
  i.error("Method " + t + " does not exist on jQuery.dhx_scheduler");
3757
3739
  }), function(t) {
3758
3740
  (function() {
3759
- var r = t.setCurrentView, s = t.updateView, c = null, u = null, m = function(f, g) {
3741
+ var r = t.setCurrentView, s = t.updateView, c = null, u = null, v = function(f, g) {
3760
3742
  var p = this;
3761
3743
  B.clearTimeout(u), B.clearTimeout(c);
3762
3744
  var y = p._date, w = p._mode;
3763
3745
  l(this, f, g), u = setTimeout(function() {
3764
3746
  t.$destroyed || (p.callEvent("onBeforeViewChange", [w, y, g || p._mode, f || p._date]) ? (s.call(p, f, g), p.callEvent("onViewChange", [p._mode, p._date]), B.clearTimeout(c), u = 0) : l(p, y, w));
3765
3747
  }, t.config.delay_render);
3766
- }, v = function(f, g) {
3748
+ }, m = function(f, g) {
3767
3749
  var p = this, y = arguments;
3768
3750
  l(this, f, g), B.clearTimeout(c), c = setTimeout(function() {
3769
3751
  t.$destroyed || u || s.apply(p, y);
@@ -3773,7 +3755,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3773
3755
  g && (f._date = g), p && (f._mode = p);
3774
3756
  }
3775
3757
  t.attachEvent("onSchedulerReady", function() {
3776
- t.config.delay_render ? (t.setCurrentView = m, t.updateView = v) : (t.setCurrentView = r, t.updateView = s);
3758
+ t.config.delay_render ? (t.setCurrentView = v, t.updateView = m) : (t.setCurrentView = r, t.updateView = s);
3777
3759
  });
3778
3760
  })();
3779
3761
  }(h), function(t) {
@@ -3814,19 +3796,19 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3814
3796
  const o = {};
3815
3797
  return h.plugins = function(t) {
3816
3798
  (function(s, c, u) {
3817
- const m = [];
3818
- for (const v in s)
3819
- if (s[v]) {
3820
- const l = v.toLowerCase();
3799
+ const v = [];
3800
+ for (const m in s)
3801
+ if (s[m]) {
3802
+ const l = m.toLowerCase();
3821
3803
  c[l] && c[l].forEach(function(f) {
3822
3804
  const g = f.toLowerCase();
3823
- s[g] || m.push(g);
3824
- }), m.push(l);
3805
+ s[g] || v.push(g);
3806
+ }), v.push(l);
3825
3807
  }
3826
- return m.sort(function(v, l) {
3827
- const f = u[v] || 0, g = u[l] || 0;
3808
+ return v.sort(function(m, l) {
3809
+ const f = u[m] || 0, g = u[l] || 0;
3828
3810
  return f > g ? 1 : f < g ? -1 : 0;
3829
- }), m;
3811
+ }), v;
3830
3812
  })(t, { treetimeline: ["timeline"], daytimeline: ["timeline"], outerdrag: ["legacy"] }, { legacy: 1, limit: 1, timeline: 2, daytimeline: 3, treetimeline: 3, outerdrag: 6 }).forEach(function(s) {
3831
3813
  if (!o[s]) {
3832
3814
  const c = e.getExtension(s);
@@ -4020,12 +4002,12 @@ function st(e) {
4020
4002
  var s = new e.$keyboardNavigation.Event(t);
4021
4003
  e.getState().lightbox_id || function(c) {
4022
4004
  if (e.config.key_nav && a.isEnabled()) {
4023
- var u = c, m = new e.$keyboardNavigation.Event(u.eventId);
4024
- if (!m.isValid()) {
4025
- var v = m.start || u.start, l = m.end || u.end, f = m.section || u.section;
4026
- (m = new e.$keyboardNavigation.TimeSlot(v, l, f)).isValid() || (m = new e.$keyboardNavigation.TimeSlot());
4005
+ var u = c, v = new e.$keyboardNavigation.Event(u.eventId);
4006
+ if (!v.isValid()) {
4007
+ var m = v.start || u.start, l = v.end || u.end, f = v.section || u.section;
4008
+ (v = new e.$keyboardNavigation.TimeSlot(m, l, f)).isValid() || (v = new e.$keyboardNavigation.TimeSlot());
4027
4009
  }
4028
- a.setActiveNode(m);
4010
+ a.setActiveNode(v);
4029
4011
  var g = a.getActiveNode();
4030
4012
  g && g.getNode && document.activeElement != g.getNode() && a.focusNode(a.getActiveNode());
4031
4013
  }
@@ -4191,14 +4173,14 @@ const lt = { active_links: function(e) {
4191
4173
  for (var _, o = "<div class='dhx_agenda_area' " + e._waiAria.agendaDataAttrString() + ">", t = 0; t < n.length; t++) {
4192
4174
  var r = n[t], s = r.color ? "--dhx-scheduler-event-background:" + r.color + ";" : "", c = r.textColor ? "--dhx-scheduler-event-color:" + r.textColor + ";" : "", u = e.templates.event_class(r.start_date, r.end_date, r);
4193
4175
  _ = e._waiAria.agendaEventAttrString(r);
4194
- var m = e._waiAria.agendaDetailsBtnString();
4195
- o += "<div " + _ + " class='dhx_agenda_line" + (u ? " " + u : "") + "' event_id='" + r.id + "' " + e.config.event_attribute + "='" + r.id + "' style='" + c + s + (r._text_style || "") + "'><div class='dhx_agenda_event_time'>" + (e.config.rtl ? e.templates.agenda_time(r.end_date, r.start_date, r) : e.templates.agenda_time(r.start_date, r.end_date, r)) + "</div>", o += `<div ${m} class='dhx_event_icon icon_details'><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
4176
+ var v = e._waiAria.agendaDetailsBtnString();
4177
+ o += "<div " + _ + " class='dhx_agenda_line" + (u ? " " + u : "") + "' event_id='" + r.id + "' " + e.config.event_attribute + "='" + r.id + "' style='" + c + s + (r._text_style || "") + "'><div class='dhx_agenda_event_time'>" + (e.config.rtl ? e.templates.agenda_time(r.end_date, r.start_date, r) : e.templates.agenda_time(r.start_date, r.end_date, r)) + "</div>", o += `<div ${v} class='dhx_event_icon icon_details'><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
4196
4178
  <path d="M15.4444 16.4H4.55556V7.6H15.4444V16.4ZM13.1111 2V3.6H6.88889V2H5.33333V3.6H4.55556C3.69222 3.6 3 4.312 3 5.2V16.4C3 16.8243 3.16389 17.2313 3.45561 17.5314C3.74733 17.8314 4.143 18 4.55556 18H15.4444C15.857 18 16.2527 17.8314 16.5444 17.5314C16.8361 17.2313 17 16.8243 17 16.4V5.2C17 4.312 16.3 3.6 15.4444 3.6H14.6667V2H13.1111ZM13.8889 10.8H10V14.8H13.8889V10.8Z" fill="#A1A4A6"/>
4197
4179
  </svg></div>`, o += "<span>" + e.templates.agenda_text(r.start_date, r.end_date, r) + "</span></div>";
4198
4180
  }
4199
4181
  o += "<div class='dhx_v_border'></div></div>", e._els.dhx_cal_data[0].innerHTML = o, e._els.dhx_cal_data[0].childNodes[0].scrollTop = e._agendaScrollTop || 0;
4200
- var v = e._els.dhx_cal_data[0].childNodes[0];
4201
- v.childNodes[v.childNodes.length - 1].style.height = v.offsetHeight < e._els.dhx_cal_data[0].offsetHeight ? "100%" : v.offsetHeight + "px";
4182
+ var m = e._els.dhx_cal_data[0].childNodes[0];
4183
+ m.childNodes[m.childNodes.length - 1].style.height = m.offsetHeight < e._els.dhx_cal_data[0].offsetHeight ? "100%" : m.offsetHeight + "px";
4202
4184
  var l = e._els.dhx_cal_data[0].firstChild.childNodes, f = e._getNavDateElement();
4203
4185
  for (f && (f.innerHTML = e.templates.agenda_date(e._min_date, e._max_date, e._mode)), e._rendered = [], t = 0; t < l.length - 1; t++)
4204
4186
  e._rendered[t] = l[t];
@@ -4249,24 +4231,24 @@ const lt = { active_links: function(e) {
4249
4231
  var _ = e.render_view_data;
4250
4232
  function o() {
4251
4233
  const r = e.get_visible_events();
4252
- r.sort(function(v, l) {
4253
- return v.start_date > l.start_date ? 1 : -1;
4234
+ r.sort(function(m, l) {
4235
+ return m.start_date > l.start_date ? 1 : -1;
4254
4236
  });
4255
4237
  const s = {};
4256
4238
  let c = e.getState().min_date;
4257
4239
  const u = e.getState().max_date;
4258
4240
  for (; c.valueOf() < u.valueOf(); )
4259
4241
  s[c.valueOf()] = [], c = e.date.add(c, 1, "day");
4260
- let m = !1;
4261
- if (r.forEach((v) => {
4262
- let l = e.date.day_start(new Date(v.start_date));
4263
- for (; l.valueOf() < v.end_date.valueOf(); )
4264
- s[l.valueOf()] && (s[l.valueOf()].push(v), m = !0), l = e.date.day_start(e.date.add(l, 1, "day"));
4265
- }), m) {
4266
- let v = "";
4242
+ let v = !1;
4243
+ if (r.forEach((m) => {
4244
+ let l = e.date.day_start(new Date(m.start_date));
4245
+ for (; l.valueOf() < m.end_date.valueOf(); )
4246
+ s[l.valueOf()] && (s[l.valueOf()].push(m), v = !0), l = e.date.day_start(e.date.add(l, 1, "day"));
4247
+ }), v) {
4248
+ let m = "";
4267
4249
  for (let l in s)
4268
- v += t(new Date(1 * l), s[l]);
4269
- e._els.dhx_cal_data[0].innerHTML = v;
4250
+ m += t(new Date(1 * l), s[l]);
4251
+ e._els.dhx_cal_data[0].innerHTML = m;
4270
4252
  } else
4271
4253
  e._els.dhx_cal_data[0].innerHTML = `<div class="dhx_cal_agenda_no_events">${e.locale.labels.agenda_tab}</div>`;
4272
4254
  e._els.dhx_cal_data[0].scrollTop = i;
@@ -4280,9 +4262,9 @@ const lt = { active_links: function(e) {
4280
4262
  <div class="dhx_cal_agenda_day_events">
4281
4263
  `;
4282
4264
  return s.forEach((u) => {
4283
- c += function(m, v) {
4284
- const l = e.templates.agenda_time(v.start_date, v.end_date, v), f = e.getState().select_id, g = e.templates.event_class(v.start_date, v.end_date, v), p = e.templates.agenda_text(v.start_date, v.end_date, v);
4285
- return `<div class="dhx_cal_agenda_event_line ${g || ""} ${v.id == f ? "dhx_cal_agenda_event_line_selected" : ""}" ${e.config.event_attribute}="${v.id}">
4265
+ c += function(v, m) {
4266
+ const l = e.templates.agenda_time(m.start_date, m.end_date, m), f = e.getState().select_id, g = e.templates.event_class(m.start_date, m.end_date, m), p = e.templates.agenda_text(m.start_date, m.end_date, m);
4267
+ return `<div class="dhx_cal_agenda_event_line ${g || ""} ${m.id == f ? "dhx_cal_agenda_event_line_selected" : ""}" ${e.config.event_attribute}="${m.id}">
4286
4268
  <div class="dhx_cal_agenda_event_line_marker"></div>
4287
4269
  <div class="dhx_cal_agenda_event_line_time">${l}</div>
4288
4270
  <div class="dhx_cal_agenda_event_line_text">${p}</div>
@@ -4319,20 +4301,20 @@ const lt = { active_links: function(e) {
4319
4301
  s._virtual ? c._first_chunk = !1 : c._first_chunk = !0, c._drag_resize = !1, c._virtual = !0, c.start_date = new Date(c.start_date), l(s) ? (c.end_date = f(c.start_date), this.config.last_hour != 24 && (c.end_date = g(c.start_date, this.config.last_hour))) : c.end_date = new Date(s.end_date);
4320
4302
  var u = !1;
4321
4303
  c.start_date < this._max_date && c.end_date > this._min_date && c.start_date < c.end_date && (o[r] = c, u = !0);
4322
- var m = this._safe_copy(s);
4323
- if (m._virtual = !0, m.end_date = new Date(m.end_date), m.start_date < this._min_date ? m.start_date = g(this._min_date, this.config.first_hour) : m.start_date = g(f(s.start_date), this.config.first_hour), m.start_date < this._max_date && m.start_date < m.end_date) {
4304
+ var v = this._safe_copy(s);
4305
+ if (v._virtual = !0, v.end_date = new Date(v.end_date), v.start_date < this._min_date ? v.start_date = g(this._min_date, this.config.first_hour) : v.start_date = g(f(s.start_date), this.config.first_hour), v.start_date < this._max_date && v.start_date < v.end_date) {
4324
4306
  if (!u) {
4325
- o[r--] = m;
4307
+ o[r--] = v;
4326
4308
  continue;
4327
4309
  }
4328
- o.splice(r + 1, 0, m), m._last_chunk = !1;
4310
+ o.splice(r + 1, 0, v), v._last_chunk = !1;
4329
4311
  } else
4330
4312
  c._last_chunk = !0, c._drag_resize = !0;
4331
4313
  } else
4332
4314
  this._mode != "month" && o.splice(r--, 1);
4333
4315
  }
4334
- var v = this._drag_mode != "move" && t;
4335
- return d.call(this, o, v);
4316
+ var m = this._drag_mode != "move" && t;
4317
+ return d.call(this, o, m);
4336
4318
  function l(p) {
4337
4319
  var y = f(p.start_date);
4338
4320
  return +p.end_date > +y;
@@ -4408,8 +4390,8 @@ const lt = { active_links: function(e) {
4408
4390
  }
4409
4391
  }
4410
4392
  }
4411
- var m = e._get_section_view(), v = e._get_section_property(), l = !0;
4412
- if (m) {
4393
+ var v = e._get_section_view(), m = e._get_section_property(), l = !0;
4394
+ if (v) {
4413
4395
  var f = 0;
4414
4396
  for (c = 0; c < n.length; c++)
4415
4397
  n[c].id != d.id && this._check_sections_collision(n[c], d) && f++;
@@ -4418,7 +4400,7 @@ const lt = { active_links: function(e) {
4418
4400
  n.length >= _ && (l = !1);
4419
4401
  if (!l) {
4420
4402
  var g = !e.callEvent("onEventCollision", [d, n]);
4421
- return g || (d[v] = h || d[v]), g;
4403
+ return g || (d[m] = h || d[m]), g;
4422
4404
  }
4423
4405
  return l;
4424
4406
  };
@@ -4428,32 +4410,32 @@ const lt = { active_links: function(e) {
4428
4410
  e._pre_render_events = function(s, c) {
4429
4411
  if (!e.config.container_autoresize || !a)
4430
4412
  return h.apply(this, arguments);
4431
- var u = this.xy.bar_height, m = this._colsS.heights, v = this._colsS.heights = [0, 0, 0, 0, 0, 0, 0], l = this._els.dhx_cal_data[0];
4413
+ var u = this.xy.bar_height, v = this._colsS.heights, m = this._colsS.heights = [0, 0, 0, 0, 0, 0, 0], l = this._els.dhx_cal_data[0];
4432
4414
  if (s = this._table_view ? this._pre_render_events_table(s, c) : this._pre_render_events_line(s, c), this._table_view)
4433
4415
  if (c)
4434
- this._colsS.heights = m;
4416
+ this._colsS.heights = v;
4435
4417
  else {
4436
4418
  var f = l.firstChild;
4437
4419
  const E = f.querySelectorAll(".dhx_cal_month_row");
4438
4420
  if (E) {
4439
4421
  for (var g = 0; g < E.length; g++) {
4440
- if (v[g]++, v[g] * u > this._colsS.height - this.xy.month_head_height) {
4422
+ if (m[g]++, m[g] * u > this._colsS.height - this.xy.month_head_height) {
4441
4423
  var p = E[g].querySelectorAll(".dhx_cal_month_cell"), y = this._colsS.height - this.xy.month_head_height;
4442
- 1 * this.config.max_month_events !== this.config.max_month_events || v[g] <= this.config.max_month_events ? y = v[g] * u : (this.config.max_month_events + 1) * u > this._colsS.height - this.xy.month_head_height && (y = (this.config.max_month_events + 1) * u), E[g].style.height = y + this.xy.month_head_height + "px";
4424
+ 1 * this.config.max_month_events !== this.config.max_month_events || m[g] <= this.config.max_month_events ? y = m[g] * u : (this.config.max_month_events + 1) * u > this._colsS.height - this.xy.month_head_height && (y = (this.config.max_month_events + 1) * u), E[g].style.height = y + this.xy.month_head_height + "px";
4443
4425
  for (var w = 0; w < p.length; w++)
4444
4426
  p[w].childNodes[1].style.height = y + "px";
4445
- v[g] = (v[g - 1] || 0) + p[0].offsetHeight;
4427
+ m[g] = (m[g - 1] || 0) + p[0].offsetHeight;
4446
4428
  }
4447
- v[g] = (v[g - 1] || 0) + E[g].querySelectorAll(".dhx_cal_month_cell")[0].offsetHeight;
4429
+ m[g] = (m[g - 1] || 0) + E[g].querySelectorAll(".dhx_cal_month_cell")[0].offsetHeight;
4448
4430
  }
4449
- v.unshift(0), f.parentNode.offsetHeight < f.parentNode.scrollHeight && f._h_fix;
4450
- } else if (s.length || this._els.dhx_multi_day[0].style.visibility != "visible" || (v[0] = -1), s.length || v[0] == -1) {
4451
- var b = (v[0] + 1) * u + 1;
4431
+ m.unshift(0), f.parentNode.offsetHeight < f.parentNode.scrollHeight && f._h_fix;
4432
+ } else if (s.length || this._els.dhx_multi_day[0].style.visibility != "visible" || (m[0] = -1), s.length || m[0] == -1) {
4433
+ var b = (m[0] + 1) * u + 1;
4452
4434
  d != b + 1 && (this._obj.style.height = i - d + b - 1 + "px"), b += "px";
4453
4435
  const D = this._els.dhx_cal_navline[0].offsetHeight, x = this._els.dhx_cal_header[0].offsetHeight;
4454
4436
  l.style.height = this._obj.offsetHeight - D - x - (this.xy.margin_top || 0) + "px";
4455
4437
  var k = this._els.dhx_multi_day[0];
4456
- k.style.height = b, k.style.visibility = v[0] == -1 ? "hidden" : "visible", (k = this._els.dhx_multi_day[1]).style.height = b, k.style.visibility = v[0] == -1 ? "hidden" : "visible", k.style.visibility == "hidden" ? k.style.display = "none" : k.style.display = "", k.className = v[0] ? "dhx_multi_day_icon" : "dhx_multi_day_icon_small", this._dy_shift = (v[0] + 1) * u, v[0] = 0;
4438
+ k.style.height = b, k.style.visibility = m[0] == -1 ? "hidden" : "visible", (k = this._els.dhx_multi_day[1]).style.height = b, k.style.visibility = m[0] == -1 ? "hidden" : "visible", k.style.visibility == "hidden" ? k.style.display = "none" : k.style.display = "", k.className = m[0] ? "dhx_multi_day_icon" : "dhx_multi_day_icon_small", this._dy_shift = (m[0] + 1) * u, m[0] = 0;
4457
4439
  }
4458
4440
  }
4459
4441
  return s;
@@ -4461,68 +4443,68 @@ const lt = { active_links: function(e) {
4461
4443
  var n = ["dhx_cal_navline", "dhx_cal_header", "dhx_multi_day", "dhx_cal_data"], _ = function(s) {
4462
4444
  i = 0;
4463
4445
  for (var c = 0; c < n.length; c++) {
4464
- var u = n[c], m = e._els[u] ? e._els[u][0] : null, v = 0;
4446
+ var u = n[c], v = e._els[u] ? e._els[u][0] : null, m = 0;
4465
4447
  switch (u) {
4466
4448
  case "dhx_cal_navline":
4467
4449
  case "dhx_cal_header":
4468
- v = m.offsetHeight;
4450
+ m = v.offsetHeight;
4469
4451
  break;
4470
4452
  case "dhx_multi_day":
4471
- v = m ? m.offsetHeight - 1 : 0, d = v;
4453
+ m = v ? v.offsetHeight - 1 : 0, d = m;
4472
4454
  break;
4473
4455
  case "dhx_cal_data":
4474
4456
  var l = e.getState().mode;
4475
- if (m.childNodes[1] && l != "month") {
4457
+ if (v.childNodes[1] && l != "month") {
4476
4458
  let M = 0;
4477
- for (let A = 0; A < m.childNodes.length; A++)
4478
- m.childNodes[A].offsetHeight > M && (M = m.childNodes[A].offsetHeight);
4479
- v = M;
4459
+ for (let A = 0; A < v.childNodes.length; A++)
4460
+ v.childNodes[A].offsetHeight > M && (M = v.childNodes[A].offsetHeight);
4461
+ m = M;
4480
4462
  } else
4481
- v = Math.max(m.offsetHeight - 1, m.scrollHeight);
4463
+ m = Math.max(v.offsetHeight - 1, v.scrollHeight);
4482
4464
  if (l == "month")
4483
- e.config.month_day_min_height && !s && (v = m.querySelectorAll(".dhx_cal_month_row").length * e.config.month_day_min_height), s && (m.style.height = v + "px");
4465
+ e.config.month_day_min_height && !s && (m = v.querySelectorAll(".dhx_cal_month_row").length * e.config.month_day_min_height), s && (v.style.height = m + "px");
4484
4466
  else if (l == "year")
4485
- v = 190 * e.config.year_y;
4467
+ m = 190 * e.config.year_y;
4486
4468
  else if (l == "agenda") {
4487
- if (v = 0, m.childNodes && m.childNodes.length)
4488
- for (var f = 0; f < m.childNodes.length; f++)
4489
- v += m.childNodes[f].offsetHeight;
4490
- v + 2 < e.config.min_grid_size ? v = e.config.min_grid_size : v += 2;
4469
+ if (m = 0, v.childNodes && v.childNodes.length)
4470
+ for (var f = 0; f < v.childNodes.length; f++)
4471
+ m += v.childNodes[f].offsetHeight;
4472
+ m + 2 < e.config.min_grid_size ? m = e.config.min_grid_size : m += 2;
4491
4473
  } else if (l == "week_agenda") {
4492
- for (var g, p, y = e.xy.week_agenda_scale_height + e.config.min_grid_size, w = 0; w < m.childNodes.length; w++)
4493
- for (p = m.childNodes[w], f = 0; f < p.childNodes.length; f++) {
4474
+ for (var g, p, y = e.xy.week_agenda_scale_height + e.config.min_grid_size, w = 0; w < v.childNodes.length; w++)
4475
+ for (p = v.childNodes[w], f = 0; f < p.childNodes.length; f++) {
4494
4476
  for (var b = 0, k = p.childNodes[f].childNodes[1], E = 0; E < k.childNodes.length; E++)
4495
4477
  b += k.childNodes[E].offsetHeight;
4496
4478
  g = b + e.xy.week_agenda_scale_height, (g = w != 1 || f != 2 && f != 3 ? g : 2 * g) > y && (y = g);
4497
4479
  }
4498
- v = 3 * y;
4480
+ m = 3 * y;
4499
4481
  } else if (l == "map") {
4500
- v = 0;
4501
- var D = m.querySelectorAll(".dhx_map_line");
4482
+ m = 0;
4483
+ var D = v.querySelectorAll(".dhx_map_line");
4502
4484
  for (f = 0; f < D.length; f++)
4503
- v += D[f].offsetHeight;
4504
- v + 2 < e.config.min_map_size ? v = e.config.min_map_size : v += 2;
4485
+ m += D[f].offsetHeight;
4486
+ m + 2 < e.config.min_map_size ? m = e.config.min_map_size : m += 2;
4505
4487
  } else if (e._gridView)
4506
- if (v = 0, m.childNodes[1].childNodes[0].childNodes && m.childNodes[1].childNodes[0].childNodes.length) {
4507
- for (D = m.childNodes[1].childNodes[0].childNodes[0].childNodes, f = 0; f < D.length; f++)
4508
- v += D[f].offsetHeight;
4509
- (v += 2) < e.config.min_grid_size && (v = e.config.min_grid_size);
4488
+ if (m = 0, v.childNodes[1].childNodes[0].childNodes && v.childNodes[1].childNodes[0].childNodes.length) {
4489
+ for (D = v.childNodes[1].childNodes[0].childNodes[0].childNodes, f = 0; f < D.length; f++)
4490
+ m += D[f].offsetHeight;
4491
+ (m += 2) < e.config.min_grid_size && (m = e.config.min_grid_size);
4510
4492
  } else
4511
- v = e.config.min_grid_size;
4493
+ m = e.config.min_grid_size;
4512
4494
  if (e.matrix && e.matrix[l]) {
4513
4495
  if (s)
4514
- v += 0, m.style.height = v + "px";
4496
+ m += 0, v.style.height = m + "px";
4515
4497
  else {
4516
- v = 0;
4498
+ m = 0;
4517
4499
  for (var x = e.matrix[l], S = x.y_unit, N = 0; N < S.length; N++)
4518
- v += x.getSectionHeight(S[N].key);
4519
- e.$container.clientWidth != e.$container.scrollWidth && (v += r());
4500
+ m += x.getSectionHeight(S[N].key);
4501
+ e.$container.clientWidth != e.$container.scrollWidth && (m += r());
4520
4502
  }
4521
- v -= 1;
4503
+ m -= 1;
4522
4504
  }
4523
- (l == "day" || l == "week" || e._props && e._props[l]) && (v += 2);
4505
+ (l == "day" || l == "week" || e._props && e._props[l]) && (m += 2);
4524
4506
  }
4525
- i += v += 1;
4507
+ i += m += 1;
4526
4508
  }
4527
4509
  e._obj.style.height = i + "px", s || e.updateView();
4528
4510
  };
@@ -4575,13 +4557,13 @@ const lt = { active_links: function(e) {
4575
4557
  if (a) {
4576
4558
  a = !1;
4577
4559
  var s = function(u) {
4578
- var m = u + "=";
4560
+ var v = u + "=";
4579
4561
  if (document.cookie.length > 0) {
4580
- var v = document.cookie.indexOf(m);
4581
- if (v != -1) {
4582
- v += m.length;
4583
- var l = document.cookie.indexOf(";", v);
4584
- return l == -1 && (l = document.cookie.length), document.cookie.substring(v, l);
4562
+ var m = document.cookie.indexOf(v);
4563
+ if (m != -1) {
4564
+ m += v.length;
4565
+ var l = document.cookie.indexOf(";", m);
4566
+ return l == -1 && (l = document.cookie.length), document.cookie.substring(m, l);
4585
4567
  }
4586
4568
  }
4587
4569
  return "";
@@ -4622,14 +4604,14 @@ const lt = { active_links: function(e) {
4622
4604
  return a += "<div class='" + h.type + "' ></div>";
4623
4605
  }, set_value: function(h, a, i, d) {
4624
4606
  (function() {
4625
- m();
4607
+ v();
4626
4608
  var u = e.attachEvent("onAfterLightbox", function() {
4627
- m(), e.detachEvent(u);
4609
+ v(), e.detachEvent(u);
4628
4610
  });
4629
- function m() {
4611
+ function v() {
4630
4612
  if (h._combo && h._combo.DOMParent) {
4631
- var v = h._combo;
4632
- v.unload ? v.unload() : v.destructor && v.destructor(), v.DOMParent = v.DOMelem = null;
4613
+ var m = h._combo;
4614
+ m.unload ? m.unload() : m.destructor && m.destructor(), m.DOMParent = m.DOMelem = null;
4633
4615
  }
4634
4616
  }
4635
4617
  })(), window.dhx_globalImgPath = d.image_path || "/", h._combo = new dhtmlXCombo(h, d.name, h.offsetWidth - 8), d.onchange && h._combo.attachEvent("onChange", d.onchange), d.options_height && h._combo.setOptionHeight(d.options_height);
@@ -4637,13 +4619,13 @@ const lt = { active_links: function(e) {
4637
4619
  if (n.enableFilteringMode(d.filtering, d.script_path || null, !!d.cache), d.script_path) {
4638
4620
  var _ = i[d.map_to];
4639
4621
  _ ? d.cached_options[_] ? (n.addOption(_, d.cached_options[_]), n.disable(1), n.selectOption(0), n.disable(0)) : e.ajax.get(d.script_path + "?id=" + _ + "&uid=" + e.uid(), function(u) {
4640
- var m, v = u.xmlDoc.responseText;
4622
+ var v, m = u.xmlDoc.responseText;
4641
4623
  try {
4642
- m = JSON.parse(v).options[0].text;
4624
+ v = JSON.parse(m).options[0].text;
4643
4625
  } catch {
4644
- m = e.ajax.xpath("//option", u.xmlDoc)[0].childNodes[0].nodeValue;
4626
+ v = e.ajax.xpath("//option", u.xmlDoc)[0].childNodes[0].nodeValue;
4645
4627
  }
4646
- d.cached_options[_] = m, n.addOption(_, m), n.disable(1), n.selectOption(0), n.disable(0);
4628
+ d.cached_options[_] = v, n.addOption(_, v), n.disable(1), n.selectOption(0), n.disable(0);
4647
4629
  }) : n.setComboValue("");
4648
4630
  } else {
4649
4631
  for (var o = [], t = 0; t < d.options.length; t++) {
@@ -4806,23 +4788,23 @@ const lt = { active_links: function(e) {
4806
4788
  return this._hidden_export_form;
4807
4789
  }, i._get_export_size = function(n, _, o, t, r, s, c) {
4808
4790
  t = parseInt(t) / 25.4 || 4;
4809
- var u = { A5: { x: 148, y: 210 }, A4: { x: 210, y: 297 }, A3: { x: 297, y: 420 }, A2: { x: 420, y: 594 }, A1: { x: 594, y: 841 }, A0: { x: 841, y: 1189 } }, m = a("dhx_cal_data", this).x, v = { y: a("dhx_cal_data", this).y + a("dhx_cal_header", this).y + a("dhx_multi_day", this).y };
4810
- return v.x = n === "full" ? m : Math.floor((_ === "landscape" ? u[n].y : u[n].x) * t), c && (v.x *= parseFloat(c.x) || 1, v.y *= parseFloat(c.y) || 1), v;
4791
+ var u = { A5: { x: 148, y: 210 }, A4: { x: 210, y: 297 }, A3: { x: 297, y: 420 }, A2: { x: 420, y: 594 }, A1: { x: 594, y: 841 }, A0: { x: 841, y: 1189 } }, v = a("dhx_cal_data", this).x, m = { y: a("dhx_cal_data", this).y + a("dhx_cal_header", this).y + a("dhx_multi_day", this).y };
4792
+ return m.x = n === "full" ? v : Math.floor((_ === "landscape" ? u[n].y : u[n].x) * t), c && (m.x *= parseFloat(c.x) || 1, m.y *= parseFloat(c.y) || 1), m;
4811
4793
  }, i._export_html = function(n) {
4812
4794
  var _, o, t, r = (_ = void 0, o = void 0, (t = d()) && (o = t.scrollable, _ = t.smart_rendering), { nav_height: i.xy.nav_height, scroll_width: i.xy.scroll_width, style_width: i._obj.style.width, style_height: i._obj.style.height, timeline_scrollable: o, timeline_smart_rendering: _ }), s = i._get_export_size(n.format, n.orientation, n.zoom, n.dpi, n.header, n.footer, n.scales), c = "";
4813
4795
  try {
4814
- (function(u, m) {
4796
+ (function(u, v) {
4815
4797
  i._obj.style.width = u.x + "px", i._obj.style.height = u.y + "px", i.xy.nav_height = 0, i.xy.scroll_width = 0;
4816
- var v = d();
4817
- (m.timeline_scrollable || m.timeline_smart_rendering) && (v.scrollable = !1, v.smart_rendering = !1);
4798
+ var m = d();
4799
+ (v.timeline_scrollable || v.timeline_smart_rendering) && (m.scrollable = !1, m.smart_rendering = !1);
4818
4800
  })(s, r), i.setCurrentView(), c = i._obj.innerHTML;
4819
4801
  } catch (u) {
4820
4802
  console.error(u);
4821
4803
  } finally {
4822
4804
  (function(u) {
4823
4805
  i.xy.scroll_width = u.scroll_width, i.xy.nav_height = u.nav_height, i._obj.style.width = u.style_width, i._obj.style.height = u.style_height;
4824
- var m = d();
4825
- (u.timeline_scrollable || u.timeline_smart_rendering) && (m.scrollable = u.timeline_scrollable, m.smart_rendering = u.timeline_smart_rendering);
4806
+ var v = d();
4807
+ (u.timeline_scrollable || u.timeline_smart_rendering) && (v.scrollable = u.timeline_scrollable, v.smart_rendering = u.timeline_smart_rendering);
4826
4808
  })(r), i.setCurrentView();
4827
4809
  }
4828
4810
  return c;
@@ -5020,10 +5002,11 @@ const lt = { active_links: function(e) {
5020
5002
  var u = o[n];
5021
5003
  if (!(r < d && s > i))
5022
5004
  return t;
5023
- var m = this.createElement(), v = a._timeline_getX({ start_date: i }, !1, _) - 1, l = a._timeline_getX({ start_date: d }, !1, _) - 1, f = _._section_height[n] - 1 || _.dy - 1, g = 0;
5024
- a._isRender("cell") && (g = u.offsetTop, v += _.dx, l += _.dx, u = a.$container.querySelector(".dhx_cal_data"));
5025
- var p = Math.max(1, l - v - 1);
5026
- return m.style.cssText = "height: " + f + "px; left: " + v + "px; width: " + p + "px; top: " + g + "px;", u && (u.appendChild(m), t.push(m)), t;
5005
+ var v = this.createElement(), m = a._timeline_getX({ start_date: i }, !1, _) - 1, l = a._timeline_getX({ start_date: d }, !1, _) - 1, f = _._section_height[n] - 1 || _.dy - 1, g = 0;
5006
+ a._isRender("cell") && (g = u.offsetTop, m += _.dx, l += _.dx, u = a.$container.querySelector(".dhx_cal_data"));
5007
+ var p = Math.max(1, l - m - 1);
5008
+ let y = "left";
5009
+ return a.config.rtl && (y = "right"), v.style.cssText = `height:${f}px; ${y}:${m}px; width:${p}px; top:${g}px;`, u && (u.appendChild(v), t.push(v)), t;
5027
5010
  }, renderMonthCell: function(i) {
5028
5011
  for (var d = a.$container.querySelectorAll(".dhx_month_head"), n = [], _ = 0; _ < d.length; _++)
5029
5012
  n.push(d[_].parentNode);
@@ -5032,10 +5015,10 @@ const lt = { active_links: function(e) {
5032
5015
  s = a.date.add(s, 1, "day");
5033
5016
  if (o == -1)
5034
5017
  return [];
5035
- var u = a._colsS[r], m = a._colsS.heights[t], v = this.createElement();
5036
- v.style.top = m + "px", v.style.left = u + "px", v.style.width = a._cols[r] + "px", v.style.height = (a._colsS.heights[t + 1] - m || a._colsS.height) + "px";
5018
+ var u = a._colsS[r], v = a._colsS.heights[t], m = this.createElement();
5019
+ m.style.top = v + "px", m.style.left = u + "px", m.style.width = a._cols[r] + "px", m.style.height = (a._colsS.heights[t + 1] - v || a._colsS.height) + "px";
5037
5020
  var l = a.$container.querySelector(".dhx_cal_data"), f = l.querySelector("table");
5038
- return f.nextSibling ? l.insertBefore(v, f.nextSibling) : l.appendChild(v), v;
5021
+ return f.nextSibling ? l.insertBefore(m, f.nextSibling) : l.appendChild(m), m;
5039
5022
  }, renderMonthMarker: function(i, d) {
5040
5023
  for (var n = [], _ = i; _.valueOf() < d.valueOf(); )
5041
5024
  n.push(this.renderMonthCell(_)), _ = a.date.add(_, 1, "day");
@@ -5052,11 +5035,11 @@ const lt = { active_links: function(e) {
5052
5035
  }
5053
5036
  if (!(t = a.locate_holder(_)) || t.querySelector(".dhx_scale_hour"))
5054
5037
  return document.createElement("div");
5055
- var u = Math.max(60 * i.getHours() + i.getMinutes(), 60 * r.first_hour), m = Math.min(60 * d.getHours() + d.getMinutes(), 60 * r.last_hour);
5056
- if (!m && a.date.day_start(new Date(d)).valueOf() > a.date.day_start(new Date(i)).valueOf() && (m = 60 * r.last_hour), m <= u)
5038
+ var u = Math.max(60 * i.getHours() + i.getMinutes(), 60 * r.first_hour), v = Math.min(60 * d.getHours() + d.getMinutes(), 60 * r.last_hour);
5039
+ if (!v && a.date.day_start(new Date(d)).valueOf() > a.date.day_start(new Date(i)).valueOf() && (v = 60 * r.last_hour), v <= u)
5057
5040
  return [];
5058
- var v = this.createElement(), l = a.config.hour_size_px * r.last_hour + 1, f = 36e5;
5059
- return v.style.top = Math.round((60 * u * 1e3 - a.config.first_hour * f) * a.config.hour_size_px / f) % l + "px", v.style.lineHeight = v.style.height = Math.max(Math.round(60 * (m - u) * 1e3 * a.config.hour_size_px / f) % l, 1) + "px", v.style.width = "100%", t.appendChild(v), o.push(v), o[0];
5041
+ var m = this.createElement(), l = a.config.hour_size_px * r.last_hour + 1, f = 36e5;
5042
+ return m.style.top = Math.round((60 * u * 1e3 - a.config.first_hour * f) * a.config.hour_size_px / f) % l + "px", m.style.lineHeight = m.style.height = Math.max(Math.round(60 * (v - u) * 1e3 * a.config.hour_size_px / f) % l, 1) + "px", m.style.width = "100%", t.appendChild(m), o.push(m), o[0];
5060
5043
  } };
5061
5044
  }(e), function(a) {
5062
5045
  a.$keyboardNavigation.SchedulerNode = function() {
@@ -5711,74 +5694,74 @@ const lt = { active_links: function(e) {
5711
5694
  clearTimeout(this._timeout), this._timeout = setTimeout(i, d || 1);
5712
5695
  } };
5713
5696
  }(e), ot(e), function() {
5714
- st(e), function(_) {
5715
- _.$keyboardNavigation._minicalendars = [], _.$keyboardNavigation.isMinical = function(o) {
5716
- for (var t = _.$keyboardNavigation._minicalendars, r = 0; r < t.length; r++)
5717
- if (this.isChildOf(o, t[r]))
5697
+ st(e), function(o) {
5698
+ o.$keyboardNavigation._minicalendars = [], o.$keyboardNavigation.isMinical = function(t) {
5699
+ for (var r = o.$keyboardNavigation._minicalendars, s = 0; s < r.length; s++)
5700
+ if (this.isChildOf(t, r[s]))
5718
5701
  return !0;
5719
5702
  return !1;
5720
- }, _.$keyboardNavigation.isChildOf = function(o, t) {
5721
- for (; o && o !== t; )
5722
- o = o.parentNode;
5723
- return o === t;
5724
- }, _.$keyboardNavigation.patchMinicalendar = function() {
5725
- var o = _.$keyboardNavigation.dispatcher;
5726
- function t(u) {
5727
- var m = u.target;
5728
- o.enable(), o.setActiveNode(new _.$keyboardNavigation.MinicalButton(m, 0));
5703
+ }, o.$keyboardNavigation.isChildOf = function(t, r) {
5704
+ for (; t && t !== r; )
5705
+ t = t.parentNode;
5706
+ return t === r;
5707
+ }, o.$keyboardNavigation.patchMinicalendar = function() {
5708
+ var t = o.$keyboardNavigation.dispatcher;
5709
+ function r(v) {
5710
+ var m = v.target;
5711
+ t.enable(), t.setActiveNode(new o.$keyboardNavigation.MinicalButton(m, 0));
5729
5712
  }
5730
- function r(u) {
5731
- var m = u.target || u.srcElement, v = _.utils.dom.locateCss(u, "dhx_cal_prev_button", !1), l = _.utils.dom.locateCss(u, "dhx_cal_next_button", !1), f = _.utils.dom.locateCss(u, "dhx_year_body", !1), g = 0, p = 0;
5732
- if (f) {
5733
- for (var y, w, b = m; b && b.tagName.toLowerCase() != "td"; )
5734
- b = b.parentNode;
5735
- if (b && (y = (w = b).parentNode), y && w) {
5736
- for (var k = y.parentNode.querySelectorAll("tr"), E = 0; E < k.length; E++)
5737
- if (k[E] == y) {
5738
- g = E;
5713
+ function s(v) {
5714
+ var m = v.target || v.srcElement, l = o.utils.dom.locateCss(v, "dhx_cal_prev_button", !1), f = o.utils.dom.locateCss(v, "dhx_cal_next_button", !1), g = o.utils.dom.locateCss(v, "dhx_year_body", !1), p = 0, y = 0;
5715
+ if (g) {
5716
+ for (var w, b, k = m; k && k.tagName.toLowerCase() != "td"; )
5717
+ k = k.parentNode;
5718
+ if (k && (w = (b = k).parentNode), w && b) {
5719
+ for (var E = w.parentNode.querySelectorAll("tr"), D = 0; D < E.length; D++)
5720
+ if (E[D] == w) {
5721
+ p = D;
5739
5722
  break;
5740
5723
  }
5741
- var D = y.querySelectorAll("td");
5742
- for (E = 0; E < D.length; E++)
5743
- if (D[E] == w) {
5744
- p = E;
5724
+ var x = w.querySelectorAll("td");
5725
+ for (D = 0; D < x.length; D++)
5726
+ if (x[D] == b) {
5727
+ y = D;
5745
5728
  break;
5746
5729
  }
5747
5730
  }
5748
5731
  }
5749
- var x = u.currentTarget;
5750
- o.delay(function() {
5751
- var S;
5752
- (v || l || f) && (v ? (S = new _.$keyboardNavigation.MinicalButton(x, 0), o.setActiveNode(new _.$keyboardNavigation.MinicalButton(x, 0))) : l ? S = new _.$keyboardNavigation.MinicalButton(x, 1) : f && (S = new _.$keyboardNavigation.MinicalCell(x, g, p)), S && (o.enable(), S.isValid() && (o.activeNode = null, o.setActiveNode(S))));
5732
+ var S = v.currentTarget;
5733
+ t.delay(function() {
5734
+ var N;
5735
+ (l || f || g) && (l ? (N = new o.$keyboardNavigation.MinicalButton(S, 0), t.setActiveNode(new o.$keyboardNavigation.MinicalButton(S, 0))) : f ? N = new o.$keyboardNavigation.MinicalButton(S, 1) : g && (N = new o.$keyboardNavigation.MinicalCell(S, p, y)), N && (t.enable(), N.isValid() && (t.activeNode = null, t.setActiveNode(N))));
5753
5736
  });
5754
5737
  }
5755
- if (_.renderCalendar) {
5756
- var s = _.renderCalendar;
5757
- _.renderCalendar = function() {
5758
- var u = s.apply(this, arguments), m = _.$keyboardNavigation._minicalendars;
5759
- _.eventRemove(u, "click", r), _.event(u, "click", r), _.eventRemove(u, "focus", t), _.event(u, "focus", t);
5760
- for (var v = !1, l = 0; l < m.length; l++)
5761
- if (m[l] == u) {
5762
- v = !0;
5738
+ if (o.renderCalendar) {
5739
+ var c = o.renderCalendar;
5740
+ o.renderCalendar = function() {
5741
+ var v = c.apply(this, arguments), m = o.$keyboardNavigation._minicalendars;
5742
+ o.eventRemove(v, "click", s), o.event(v, "click", s), o.eventRemove(v, "focus", r), o.event(v, "focus", r);
5743
+ for (var l = !1, f = 0; f < m.length; f++)
5744
+ if (m[f] == v) {
5745
+ l = !0;
5763
5746
  break;
5764
5747
  }
5765
- if (v || m.push(u), o.isEnabled()) {
5766
- var f = o.getActiveNode();
5767
- f && f.container == u ? o.focusNode(f) : u.setAttribute("tabindex", "0");
5748
+ if (l || m.push(v), t.isEnabled()) {
5749
+ var g = t.getActiveNode();
5750
+ g && g.container == v ? t.focusNode(g) : v.setAttribute("tabindex", "0");
5768
5751
  } else
5769
- u.setAttribute("tabindex", "0");
5770
- return u;
5752
+ v.setAttribute("tabindex", "0");
5753
+ return v;
5771
5754
  };
5772
5755
  }
5773
- if (_.destroyCalendar) {
5774
- var c = _.destroyCalendar;
5775
- _.destroyCalendar = function(u, m) {
5776
- u = u || (_._def_count ? _._def_count.firstChild : null);
5777
- var v = c.apply(this, arguments);
5778
- if (!u || !u.parentNode)
5779
- for (var l = _.$keyboardNavigation._minicalendars, f = 0; f < l.length; f++)
5780
- l[f] == u && (_.eventRemove(l[f], "focus", t), l.splice(f, 1), f--);
5781
- return v;
5756
+ if (o.destroyCalendar) {
5757
+ var u = o.destroyCalendar;
5758
+ o.destroyCalendar = function(v, m) {
5759
+ v = v || (o._def_count ? o._def_count.firstChild : null);
5760
+ var l = u.apply(this, arguments);
5761
+ if (!v || !v.parentNode)
5762
+ for (var f = o.$keyboardNavigation._minicalendars, g = 0; g < f.length; g++)
5763
+ f[g] == v && (o.eventRemove(f[g], "focus", r), f.splice(g, 1), g--);
5764
+ return l;
5782
5765
  };
5783
5766
  }
5784
5767
  };
@@ -5792,21 +5775,24 @@ const lt = { active_links: function(e) {
5792
5775
  });
5793
5776
  function d() {
5794
5777
  if (e.config.key_nav) {
5795
- var _ = document.activeElement;
5796
- return !(!_ || e.utils.dom.locateCss(_, "dhx_cal_quick_info", !1)) && (e.$keyboardNavigation.isChildOf(_, e.$container) || e.$keyboardNavigation.isMinical(_));
5778
+ var o = document.activeElement;
5779
+ return !(!o || e.utils.dom.locateCss(o, "dhx_cal_quick_info", !1)) && (e.$keyboardNavigation.isChildOf(o, e.$container) || e.$keyboardNavigation.isMinical(o));
5797
5780
  }
5798
5781
  }
5799
- function n(_) {
5800
- _ && !a.isEnabled() ? a.enable() : !_ && a.isEnabled() && a.disable();
5782
+ function n(o) {
5783
+ o && !a.isEnabled() ? a.enable() : !o && a.isEnabled() && a.disable();
5801
5784
  }
5802
- setInterval(function() {
5785
+ const _ = setInterval(function() {
5803
5786
  if (e.$container && e.$keyboardNavigation.isChildOf(e.$container, document.body)) {
5804
- var _ = d();
5805
- _ ? n(_) : !_ && a.isEnabled() && setTimeout(function() {
5787
+ var o = d();
5788
+ o ? n(o) : !o && a.isEnabled() && setTimeout(function() {
5806
5789
  e.$destroyed || (e.config.key_nav ? n(d()) : e.$container.removeAttribute("tabindex"));
5807
5790
  }, 100);
5808
5791
  }
5809
5792
  }, 500);
5793
+ e.attachEvent("onDestroy", function() {
5794
+ clearInterval(_);
5795
+ });
5810
5796
  }();
5811
5797
  }, layer: function(e) {
5812
5798
  e.attachEvent("onTemplatesReady", function() {
@@ -5928,9 +5914,9 @@ const lt = { active_links: function(e) {
5928
5914
  }, e._render_v_bar = function(a, i, d, n, _, o, t, r, s) {
5929
5915
  var c = a.id;
5930
5916
  t.indexOf("<div class=") == -1 && (t = e.templates["event_header_" + a.layer] ? e.templates["event_header_" + a.layer](a.start_date, a.end_date, a) : t), r.indexOf("<div class=") == -1 && (r = e.templates["event_text_" + a.layer] ? e.templates["event_text_" + a.layer](a.start_date, a.end_date, a) : r);
5931
- var u = document.createElement("div"), m = "dhx_cal_event", v = e.templates["event_class_" + a.layer] ? e.templates["event_class_" + a.layer](a.start_date, a.end_date, a) : e.templates.event_class(a.start_date, a.end_date, a);
5932
- v && (m = m + " " + v);
5933
- var l = e._border_box_events(), f = n - 2, g = l ? f : n - 4, p = l ? f : n - 6, y = l ? f : n - 14, w = l ? f - 2 : n - 8, b = l ? _ - this.xy.event_header_height : _ - 30 + 1, k = '<div event_id="' + c + '" ' + e.config.event_attribute + '="' + c + '" class="' + m + '" style="position:absolute; top:' + d + "px; left:" + i + "px; width:" + g + "px; height:" + _ + "px;" + (o || "") + '">';
5917
+ var u = document.createElement("div"), v = "dhx_cal_event", m = e.templates["event_class_" + a.layer] ? e.templates["event_class_" + a.layer](a.start_date, a.end_date, a) : e.templates.event_class(a.start_date, a.end_date, a);
5918
+ m && (v = v + " " + m);
5919
+ var l = e._border_box_events(), f = n - 2, g = l ? f : n - 4, p = l ? f : n - 6, y = l ? f : n - 14, w = l ? f - 2 : n - 8, b = l ? _ - this.xy.event_header_height : _ - 30 + 1, k = '<div event_id="' + c + '" ' + e.config.event_attribute + '="' + c + '" class="' + v + '" style="position:absolute; top:' + d + "px; left:" + i + "px; width:" + g + "px; height:" + _ + "px;" + (o || "") + '">';
5934
5920
  return k += '<div class="dhx_header" style=" width:' + p + 'px;" >&nbsp;</div>', k += '<div class="dhx_title">' + t + "</div>", k += '<div class="dhx_body" style=" width:' + y + "px; height:" + b + 'px;">' + r + "</div>", k += '<div class="dhx_footer" style=" width:' + w + "px;" + (s ? " margin-top:-1px;" : "") + '" ></div></div>', u.innerHTML = k, u.style.zIndex = 100, u.firstChild;
5935
5921
  }, e.render_event_bar = function(a) {
5936
5922
  var i = this._els.dhx_cal_data[0], d = this._colsS[a._sday], n = this._colsS[a._eday];
@@ -5951,21 +5937,21 @@ const lt = { active_links: function(e) {
5951
5937
  c.style.zIndex = parseInt(c.style.zIndex) + 1;
5952
5938
  var u = c.style.zIndex;
5953
5939
  r = Math.max(r - 4, e.xy.editor_width), (c = document.createElement("div")).setAttribute("event_id", a.id), c.setAttribute(this.config.event_attribute, a.id), this.set_xy(c, r, t - 20, s, o + 14), c.className = "dhx_cal_editor", c.style.zIndex = u;
5954
- var m = document.createElement("div");
5955
- this.set_xy(m, r - 6, t - 26), m.style.cssText += ";margin:2px 2px 2px 2px;overflow:hidden;", m.style.zIndex = u, c.appendChild(m), this._els.dhx_cal_data[0].appendChild(c), this._rendered.push(c), m.innerHTML = "<textarea class='dhx_cal_editor'>" + a.text + "</textarea>", this._editor = m.firstChild, this._editor.addEventListener("keypress", function(p) {
5940
+ var v = document.createElement("div");
5941
+ this.set_xy(v, r - 6, t - 26), v.style.cssText += ";margin:2px 2px 2px 2px;overflow:hidden;", v.style.zIndex = u, c.appendChild(v), this._els.dhx_cal_data[0].appendChild(c), this._rendered.push(c), v.innerHTML = "<textarea class='dhx_cal_editor'>" + a.text + "</textarea>", this._editor = v.firstChild, this._editor.addEventListener("keypress", function(p) {
5956
5942
  if (p.shiftKey)
5957
5943
  return !0;
5958
5944
  var y = p.keyCode;
5959
5945
  y == e.keys.edit_save && e.editStop(!0), y == e.keys.edit_cancel && e.editStop(!1);
5960
5946
  }), this._editor.addEventListener("selectstart", function(p) {
5961
5947
  return p.cancelBubble = !0, !0;
5962
- }), m.firstChild.focus(), this._els.dhx_cal_data[0].scrollLeft = 0, m.firstChild.select();
5948
+ }), v.firstChild.focus(), this._els.dhx_cal_data[0].scrollLeft = 0, v.firstChild.select();
5963
5949
  }
5964
5950
  if (this._select_id == a.id) {
5965
5951
  c.style.zIndex = parseInt(c.style.zIndex) + 1;
5966
- for (var v = this.config["icons_" + (this._edit_id == a.id ? "edit" : "select")], l = "", f = 0; f < v.length; f++)
5967
- l += "<div class='dhx_menu_icon " + v[f] + "' title='" + this.locale.labels[v[f]] + "'></div>";
5968
- var g = this._render_v_bar(a.id, s - i + 1, o, i, 20 * v.length + 26, "", "<div class='dhx_menu_head'></div>", l, !0);
5952
+ for (var m = this.config["icons_" + (this._edit_id == a.id ? "edit" : "select")], l = "", f = 0; f < m.length; f++)
5953
+ l += "<div class='dhx_menu_icon " + m[f] + "' title='" + this.locale.labels[m[f]] + "'></div>";
5954
+ var g = this._render_v_bar(a.id, s - i + 1, o, i, 20 * m.length + 26, "", "<div class='dhx_menu_head'></div>", l, !0);
5969
5955
  g.style.left = s - i + 1, g.style.zIndex = c.style.zIndex, this._els.dhx_cal_data[0].appendChild(g), this._rendered.push(g);
5970
5956
  }
5971
5957
  }
@@ -5979,8 +5965,8 @@ const lt = { active_links: function(e) {
5979
5965
  e.config.limit_start = null, e.config.limit_end = null, e.config.limit_view = !1, e.config.check_limits = !0, e.config.mark_now = !0, e.config.display_marked_timespans = !0, e.config.overwrite_marked_timespans = !0, e._temp_limit_scope = function() {
5980
5966
  var h = null, a = "dhx_time_block", i = "default", d = function(o, t, r) {
5981
5967
  var s = typeof o == "object" ? o : { days: o };
5982
- return s.type = a, s.css = "", t && (r && (s.sections = r), s = function(c, u, m) {
5983
- return u instanceof Date && m instanceof Date ? (c.start_date = u, c.end_date = m) : (c.days = u, c.zones = m), c;
5968
+ return s.type = a, s.css = "", t && (r && (s.sections = r), s = function(c, u, v) {
5969
+ return u instanceof Date && v instanceof Date ? (c.start_date = u, c.end_date = v) : (c.days = u, c.zones = v), c;
5984
5970
  }(s, o, t)), s;
5985
5971
  };
5986
5972
  e.blockTime = function(o, t, r) {
@@ -5990,9 +5976,9 @@ const lt = { active_links: function(e) {
5990
5976
  var s = d(o, t = t || "fullday", r);
5991
5977
  return e.deleteMarkedTimespan(s);
5992
5978
  }, e.attachEvent("onBeforeViewChange", function(o, t, r, s) {
5993
- function c(u, m) {
5994
- var v = e.config.limit_start, l = e.config.limit_end, f = e.date.add(u, 1, m);
5995
- return u.valueOf() > l.valueOf() || f <= v.valueOf();
5979
+ function c(u, v) {
5980
+ var m = e.config.limit_start, l = e.config.limit_end, f = e.date.add(u, 1, v);
5981
+ return u.valueOf() > l.valueOf() || f <= m.valueOf();
5996
5982
  }
5997
5983
  return !e.config.limit_view || !c(s = s || t, r = r || o) || t.valueOf() == s.valueOf() || (setTimeout(function() {
5998
5984
  if (e.$destroyed)
@@ -6002,8 +5988,8 @@ const lt = { active_links: function(e) {
6002
5988
  }, 1), !1);
6003
5989
  }), e.checkInMarkedTimespan = function(o, t, r) {
6004
5990
  t = t || i;
6005
- for (var s = !0, c = new Date(o.start_date.valueOf()), u = e.date.add(c, 1, "day"), m = e._marked_timespans; c < o.end_date; c = e.date.date_part(u), u = e.date.add(c, 1, "day")) {
6006
- var v = +e.date.date_part(new Date(c)), l = _(o, m, c.getDay(), v, t);
5991
+ for (var s = !0, c = new Date(o.start_date.valueOf()), u = e.date.add(c, 1, "day"), v = e._marked_timespans; c < o.end_date; c = e.date.date_part(u), u = e.date.add(c, 1, "day")) {
5992
+ var m = +e.date.date_part(new Date(c)), l = _(o, v, c.getDay(), m, t);
6007
5993
  if (l)
6008
5994
  for (var f = 0; f < l.length; f += 2) {
6009
5995
  var g = e._get_zone_minutes(c), p = o.end_date > u || o.end_date.getDate() != c.getDate() ? 1440 : e._get_zone_minutes(o.end_date), y = l[f], w = l[f + 1];
@@ -6019,37 +6005,37 @@ const lt = { active_links: function(e) {
6019
6005
  var t = e, r = t.config, s = [];
6020
6006
  if (o.rec_type)
6021
6007
  for (var c = e.getRecDates(o), u = 0; u < c.length; u++) {
6022
- var m = e._copy_event(o);
6023
- e._lame_copy(m, c[u]), s.push(m);
6008
+ var v = e._copy_event(o);
6009
+ e._lame_copy(v, c[u]), s.push(v);
6024
6010
  }
6025
6011
  else
6026
6012
  s = [o];
6027
- for (var v = !0, l = 0; l < s.length; l++) {
6013
+ for (var m = !0, l = 0; l < s.length; l++) {
6028
6014
  var f = !0;
6029
- (m = s[l])._timed = e.isOneDayEvent(m), (f = !r.limit_start || !r.limit_end || m.start_date.valueOf() >= r.limit_start.valueOf() && m.end_date.valueOf() <= r.limit_end.valueOf()) && (f = !e.checkInMarkedTimespan(m, a, function(g, p, y, w, b) {
6015
+ (v = s[l])._timed = e.isOneDayEvent(v), (f = !r.limit_start || !r.limit_end || v.start_date.valueOf() >= r.limit_start.valueOf() && v.end_date.valueOf() <= r.limit_end.valueOf()) && (f = !e.checkInMarkedTimespan(v, a, function(g, p, y, w, b) {
6030
6016
  var k = !0;
6031
6017
  return p <= b && p >= w && ((b == 1440 || y <= b) && (k = !1), g._timed && t._drag_id && t._drag_mode == "new-size" ? (g.start_date.setHours(0), g.start_date.setMinutes(b)) : k = !1), (y >= w && y <= b || p < w && y > b) && (g._timed && t._drag_id && t._drag_mode == "new-size" ? (g.end_date.setHours(0), g.end_date.setMinutes(w)) : k = !1), k;
6032
- })), f || (f = t.checkEvent("onLimitViolation") ? t.callEvent("onLimitViolation", [m.id, m]) : f), v = v && f;
6018
+ })), f || (f = t.checkEvent("onLimitViolation") ? t.callEvent("onLimitViolation", [v.id, v]) : f), m = m && f;
6033
6019
  }
6034
- return v || (t._drag_id = null, t._drag_mode = null), v;
6020
+ return m || (t._drag_id = null, t._drag_mode = null), m;
6035
6021
  };
6036
6022
  function _(o, t, r, s, c) {
6037
- var u = e, m = [], v = { _props: "map_to", matrix: "y_property" };
6038
- for (var l in v) {
6039
- var f = v[l];
6023
+ var u = e, v = [], m = { _props: "map_to", matrix: "y_property" };
6024
+ for (var l in m) {
6025
+ var f = m[l];
6040
6026
  if (u[l])
6041
6027
  for (var g in u[l]) {
6042
6028
  var p = u[l][g][f];
6043
- o[p] && (m = u._add_timespan_zones(m, e._get_blocked_zones(t[g], o[p], r, s, c)));
6029
+ o[p] && (v = u._add_timespan_zones(v, e._get_blocked_zones(t[g], o[p], r, s, c)));
6044
6030
  }
6045
6031
  }
6046
- return m = u._add_timespan_zones(m, e._get_blocked_zones(t, "global", r, s, c));
6032
+ return v = u._add_timespan_zones(v, e._get_blocked_zones(t, "global", r, s, c));
6047
6033
  }
6048
6034
  e._get_blocked_zones = function(o, t, r, s, c) {
6049
6035
  var u = [];
6050
6036
  if (o && o[t])
6051
- for (var m = o[t], v = this._get_relevant_blocked_zones(r, s, m, c), l = 0; l < v.length; l++)
6052
- u = this._add_timespan_zones(u, v[l].zones);
6037
+ for (var v = o[t], m = this._get_relevant_blocked_zones(r, s, v, c), l = 0; l < m.length; l++)
6038
+ u = this._add_timespan_zones(u, m[l].zones);
6053
6039
  return u;
6054
6040
  }, e._get_relevant_blocked_zones = function(o, t, r, s) {
6055
6041
  var c;
@@ -6105,6 +6091,8 @@ const lt = { active_links: function(e) {
6105
6091
  e._mark_now_timer = window.setInterval(function() {
6106
6092
  e._is_initialized() && e._mark_now();
6107
6093
  }, 6e4);
6094
+ }), e.attachEvent("onDestroy", function() {
6095
+ clearInterval(e._mark_now_timer);
6108
6096
  }), e._mark_now = function(o) {
6109
6097
  var t = "dhx_now_time";
6110
6098
  this._els[t] || (this._els[t] = []);
@@ -6117,9 +6105,9 @@ const lt = { active_links: function(e) {
6117
6105
  var r = "dhx_now_time", s = e._get_zone_minutes(t), c = { zones: [s, s + 1], css: r, type: r };
6118
6106
  if (!this._table_view) {
6119
6107
  if (this._props && this._props[this._mode]) {
6120
- var u, m, v = this._props[this._mode], l = v.size || v.options.length;
6121
- v.days > 1 ? (v.size && v.options.length && (o = (v.position + o) / v.options.length * v.size), u = o, m = o + l) : m = (u = 0) + l;
6122
- for (var f = [], g = u; g < m; g++) {
6108
+ var u, v, m = this._props[this._mode], l = m.size || m.options.length;
6109
+ m.days > 1 ? (m.size && m.options.length && (o = (m.position + o) / m.options.length * m.size), u = o, v = o + l) : v = (u = 0) + l;
6110
+ for (var f = [], g = u; g < v; g++) {
6123
6111
  var p = g;
6124
6112
  c.days = p;
6125
6113
  var y = e._render_marked_timespan(c, null, p)[0];
@@ -6151,13 +6139,13 @@ const lt = { active_links: function(e) {
6151
6139
  if (!o || !(o.start_date && o.end_date && o.end_date > o.start_date || o.days !== void 0 && o.zones) && !o.type)
6152
6140
  return t;
6153
6141
  o.zones == "fullday" && (o.zones = [0, 1440]), o.zones && o.invert_zones && (o.zones = e.invertZones(o.zones)), o.id = e.uid(), o.css = o.css || "", o.type = o.type || i;
6154
- var m = o.sections;
6155
- if (m) {
6156
- for (var v in m)
6157
- if (m.hasOwnProperty(v)) {
6158
- var l = m[v];
6142
+ var v = o.sections;
6143
+ if (v) {
6144
+ for (var m in v)
6145
+ if (v.hasOwnProperty(m)) {
6146
+ var l = v[m];
6159
6147
  for (l instanceof Array || (l = [l]), c = 0; c < l.length; c++)
6160
- (k = e._lame_copy({}, o)).sections = {}, k.sections[v] = l[c], r.push(k);
6148
+ (k = e._lame_copy({}, o)).sections = {}, k.sections[m] = l[c], r.push(k);
6161
6149
  }
6162
6150
  } else
6163
6151
  r.push(o);
@@ -6177,8 +6165,8 @@ const lt = { active_links: function(e) {
6177
6165
  }, e._get_dates_by_index = function(o, t, r) {
6178
6166
  var s = [];
6179
6167
  t = e.date.date_part(new Date(t || e._min_date)), r = new Date(r || e._max_date);
6180
- for (var c = t.getDay(), u = o - c >= 0 ? o - c : 7 - t.getDay() + o, m = e.date.add(t, u, "day"); m < r; m = e.date.add(m, 1, "week"))
6181
- s.push(m);
6168
+ for (var c = t.getDay(), u = o - c >= 0 ? o - c : 7 - t.getDay() + o, v = e.date.add(t, u, "day"); v < r; v = e.date.add(v, 1, "week"))
6169
+ s.push(v);
6182
6170
  return s;
6183
6171
  }, e._get_css_classes_by_config = function(o) {
6184
6172
  var t = [];
@@ -6187,7 +6175,7 @@ const lt = { active_links: function(e) {
6187
6175
  var t = document.createElement("div");
6188
6176
  return o.html && (typeof o.html == "string" ? t.innerHTML = o.html : t.appendChild(o.html)), t;
6189
6177
  }, e._render_marked_timespan = function(o, t, r) {
6190
- var s = [], c = e.config, u = this._min_date, m = this._max_date, v = !1;
6178
+ var s = [], c = e.config, u = this._min_date, v = this._max_date, m = !1;
6191
6179
  if (!c.display_marked_timespans)
6192
6180
  return s;
6193
6181
  if (!r && r !== 0) {
@@ -6195,7 +6183,7 @@ const lt = { active_links: function(e) {
6195
6183
  r = o.days;
6196
6184
  else {
6197
6185
  var l = new Date(o.days);
6198
- if (v = +l, !(+m > +l && +u <= +l))
6186
+ if (m = +l, !(+v > +l && +u <= +l))
6199
6187
  return s;
6200
6188
  r = l.getDay();
6201
6189
  }
@@ -6208,7 +6196,7 @@ const lt = { active_links: function(e) {
6208
6196
  if (t)
6209
6197
  y.push(t), w.push(r);
6210
6198
  else {
6211
- w = v ? [v] : e._get_dates_by_index(r);
6199
+ w = m ? [m] : e._get_dates_by_index(r);
6212
6200
  for (var b = 0; b < w.length; b++)
6213
6201
  y.push(this._scales[w[b]]);
6214
6202
  }
@@ -6259,8 +6247,8 @@ const lt = { active_links: function(e) {
6259
6247
  else {
6260
6248
  s = new Date(e._min_date);
6261
6249
  for (var c = 0, u = o.childNodes.length; c < u; c++) {
6262
- var m = o.childNodes[c];
6263
- m.firstChild && e._getClassName(m.firstChild).indexOf("dhx_scale_hour") > -1 || (t.push.apply(t, e._on_scale_add_marker(m, s)), s = e.date.add(s, 1, "day"));
6250
+ var v = o.childNodes[c];
6251
+ v.firstChild && e._getClassName(v.firstChild).indexOf("dhx_scale_hour") > -1 || (t.push.apply(t, e._on_scale_add_marker(v, s)), s = e.date.add(s, 1, "day"));
6264
6252
  }
6265
6253
  }
6266
6254
  return t;
@@ -6280,18 +6268,18 @@ const lt = { active_links: function(e) {
6280
6268
  }, e._addMarkerTimespanConfig = function(o) {
6281
6269
  var t = "global", r = e._marked_timespans, s = o.id, c = e._marked_timespans_ids;
6282
6270
  c[s] || (c[s] = []);
6283
- var u = o.days, m = o.sections, v = o.type;
6284
- if (o.id = s, m) {
6285
- for (var l in m)
6286
- if (m.hasOwnProperty(l)) {
6271
+ var u = o.days, v = o.sections, m = o.type;
6272
+ if (o.id = s, v) {
6273
+ for (var l in v)
6274
+ if (v.hasOwnProperty(l)) {
6287
6275
  r[l] || (r[l] = {});
6288
- var f = m[l], g = r[l];
6289
- g[f] || (g[f] = {}), g[f][u] || (g[f][u] = {}), g[f][u][v] || (g[f][u][v] = [], e._marked_timespans_types || (e._marked_timespans_types = {}), e._marked_timespans_types[v] || (e._marked_timespans_types[v] = !0));
6290
- var p = g[f][u][v];
6276
+ var f = v[l], g = r[l];
6277
+ g[f] || (g[f] = {}), g[f][u] || (g[f][u] = {}), g[f][u][m] || (g[f][u][m] = [], e._marked_timespans_types || (e._marked_timespans_types = {}), e._marked_timespans_types[m] || (e._marked_timespans_types[m] = !0));
6278
+ var p = g[f][u][m];
6291
6279
  o._array = p, p.push(o), c[s].push(o);
6292
6280
  }
6293
6281
  } else
6294
- r[t][u] || (r[t][u] = {}), r[t][u][v] || (r[t][u][v] = []), e._marked_timespans_types || (e._marked_timespans_types = {}), e._marked_timespans_types[v] || (e._marked_timespans_types[v] = !0), p = r[t][u][v], o._array = p, p.push(o), c[s].push(o);
6282
+ r[t][u] || (r[t][u] = {}), r[t][u][m] || (r[t][u][m] = []), e._marked_timespans_types || (e._marked_timespans_types = {}), e._marked_timespans_types[m] || (e._marked_timespans_types[m] = !0), p = r[t][u][m], o._array = p, p.push(o), c[s].push(o);
6295
6283
  }, e._marked_timespans_ids = {}, e.addMarkedTimespan = function(o) {
6296
6284
  var t = e._prepare_timespan_options(o);
6297
6285
  if (t.length) {
@@ -6304,27 +6292,27 @@ const lt = { active_links: function(e) {
6304
6292
  if (t = t.slice(), !r.length)
6305
6293
  return t;
6306
6294
  for (var s = 0; s < r.length; s += 2)
6307
- for (var c = r[s], u = r[s + 1], m = s + 2 == r.length, v = 0; v < t.length; v += 2) {
6308
- var l = t[v], f = t[v + 1];
6295
+ for (var c = r[s], u = r[s + 1], v = s + 2 == r.length, m = 0; m < t.length; m += 2) {
6296
+ var l = t[m], f = t[m + 1];
6309
6297
  if (f > u && l <= u || l < c && f >= c)
6310
6298
  r[s] = Math.min(c, l), r[s + 1] = Math.max(u, f), s -= 2;
6311
6299
  else {
6312
- if (!m)
6300
+ if (!v)
6313
6301
  continue;
6314
6302
  var g = c > l ? 0 : 2;
6315
6303
  r.splice(s + g, 0, l, f);
6316
6304
  }
6317
- t.splice(v--, 2);
6305
+ t.splice(m--, 2);
6318
6306
  break;
6319
6307
  }
6320
6308
  return r;
6321
6309
  }, e._subtract_timespan_zones = function(o, t) {
6322
6310
  for (var r = o.slice(), s = 0; s < r.length; s += 2)
6323
- for (var c = r[s], u = r[s + 1], m = 0; m < t.length; m += 2) {
6324
- var v = t[m], l = t[m + 1];
6325
- if (l > c && v < u) {
6311
+ for (var c = r[s], u = r[s + 1], v = 0; v < t.length; v += 2) {
6312
+ var m = t[v], l = t[v + 1];
6313
+ if (l > c && m < u) {
6326
6314
  var f = !1;
6327
- c >= v && u <= l && r.splice(s, 2), c < v && (r.splice(s, 2, c, v), f = !0), u > l && r.splice(f ? s + 2 : s, f ? 0 : 2, l, u), s -= 2;
6315
+ c >= m && u <= l && r.splice(s, 2), c < m && (r.splice(s, 2, c, m), f = !0), u > l && r.splice(f ? s + 2 : s, f ? 0 : 2, l, u), s -= 2;
6328
6316
  break;
6329
6317
  }
6330
6318
  }
@@ -6344,10 +6332,10 @@ const lt = { active_links: function(e) {
6344
6332
  }, e._delete_marked_timespan_by_config = function(o) {
6345
6333
  var t, r = e._marked_timespans, s = o.sections, c = o.days, u = o.type || i;
6346
6334
  if (s) {
6347
- for (var m in s)
6348
- if (s.hasOwnProperty(m) && r[m]) {
6349
- var v = s[m];
6350
- r[m][v] && (t = r[m][v]);
6335
+ for (var v in s)
6336
+ if (s.hasOwnProperty(v) && r[v]) {
6337
+ var m = s[v];
6338
+ r[v][m] && (t = r[v][m]);
6351
6339
  }
6352
6340
  } else
6353
6341
  t = r.global;
@@ -6368,9 +6356,9 @@ const lt = { active_links: function(e) {
6368
6356
  s.zones = c;
6369
6357
  else {
6370
6358
  o.splice(r, 1), r--;
6371
- for (var u = e._marked_timespans_ids[s.id], m = 0; m < u.length; m++)
6372
- if (u[m] == s) {
6373
- u.splice(m, 1);
6359
+ for (var u = e._marked_timespans_ids[s.id], v = 0; v < u.length; v++)
6360
+ if (u[v] == s) {
6361
+ u.splice(v, 1);
6374
6362
  break;
6375
6363
  }
6376
6364
  }
@@ -6387,9 +6375,9 @@ const lt = { active_links: function(e) {
6387
6375
  for (var r in e._marked_timespans_types)
6388
6376
  t.push(r);
6389
6377
  for (var s = e._prepare_timespan_options(o), c = 0; c < s.length; c++)
6390
- for (var u = s[c], m = 0; m < t.length; m++) {
6391
- var v = e._lame_clone(u);
6392
- v.type = t[m], e._delete_marked_timespan_by_config(v);
6378
+ for (var u = s[c], v = 0; v < t.length; v++) {
6379
+ var m = e._lame_clone(u);
6380
+ m.type = t[v], e._delete_marked_timespan_by_config(m);
6393
6381
  }
6394
6382
  }
6395
6383
  }, e._get_types_to_render = function(o, t) {
@@ -6404,7 +6392,7 @@ const lt = { active_links: function(e) {
6404
6392
  return t;
6405
6393
  }, e._on_scale_add_marker = function(o, t) {
6406
6394
  if (!e._table_view || e._mode == "month") {
6407
- var r = t.getDay(), s = t.valueOf(), c = this._mode, u = e._marked_timespans, m = [], v = [];
6395
+ var r = t.getDay(), s = t.valueOf(), c = this._mode, u = e._marked_timespans, v = [], m = [];
6408
6396
  if (this._props && this._props[c]) {
6409
6397
  var l = this._props[c], f = l.options, g = f[e._get_unit_index(l, t)];
6410
6398
  if (l.days > 1) {
@@ -6414,18 +6402,18 @@ const lt = { active_links: function(e) {
6414
6402
  t = e.date.date_part(new Date(this._date));
6415
6403
  if (r = t.getDay(), s = t.valueOf(), u[c] && u[c][g.key]) {
6416
6404
  var w = u[c][g.key], b = e._get_types_to_render(w[r], w[s]);
6417
- m.push.apply(m, e._get_configs_to_render(b));
6405
+ v.push.apply(v, e._get_configs_to_render(b));
6418
6406
  }
6419
6407
  }
6420
6408
  var k = u.global;
6421
6409
  if (e.config.overwrite_marked_timespans) {
6422
6410
  var E = k[s] || k[r];
6423
- m.push.apply(m, e._get_configs_to_render(E));
6411
+ v.push.apply(v, e._get_configs_to_render(E));
6424
6412
  } else
6425
- k[s] && m.push.apply(m, e._get_configs_to_render(k[s])), k[r] && m.push.apply(m, e._get_configs_to_render(k[r]));
6426
- for (var D = 0; D < m.length; D++)
6427
- v.push.apply(v, e._render_marked_timespan(m[D], o, t));
6428
- return v;
6413
+ k[s] && v.push.apply(v, e._get_configs_to_render(k[s])), k[r] && v.push.apply(v, e._get_configs_to_render(k[r]));
6414
+ for (var D = 0; D < v.length; D++)
6415
+ m.push.apply(m, e._render_marked_timespan(v[D], o, t));
6416
+ return m;
6429
6417
  }
6430
6418
  }, e.attachEvent("onScaleAdd", function() {
6431
6419
  e._on_scale_add_marker.apply(e, arguments);
@@ -6456,18 +6444,18 @@ const lt = { active_links: function(e) {
6456
6444
  h.className = "dhx_map", h.id = "dhx_gmap", h.style.display = "none", e._obj.appendChild(h), e._els.dhx_gmap = [], e._els.dhx_gmap.push(h), o("dhx_gmap");
6457
6445
  const a = { zoom: e.config.map_initial_zoom || 10, center: e.config.map_initial_position, mapTypeId: e.config.map_type || google.maps.MapTypeId.ROADMAP }, i = new google.maps.Map(document.getElementById("dhx_gmap"), a);
6458
6446
  i.disableDefaultUI = !1, i.disableDoubleClickZoom = !e.config.readonly, google.maps.event.addListener(i, "dblclick", function(u) {
6459
- const m = e.ext.mapView.geocoder;
6447
+ const v = e.ext.mapView.geocoder;
6460
6448
  if (!e.config.readonly && e.config.dblclick_create) {
6461
- var v = u.latLng;
6462
- m.geocode({ latLng: v }, function(l, f) {
6463
- f == google.maps.GeocoderStatus.OK && (v = l[0].geometry.location, e.addEventNow({ lat: v.lat(), lng: v.lng(), event_location: l[0].formatted_address, start_date: e._date, end_date: e.date.add(e._date, e.config.time_step, "minute") }));
6449
+ var m = u.latLng;
6450
+ v.geocode({ latLng: m }, function(l, f) {
6451
+ f == google.maps.GeocoderStatus.OK && (m = l[0].geometry.location, e.addEventNow({ lat: m.lat(), lng: m.lng(), event_location: l[0].formatted_address, start_date: e._date, end_date: e.date.add(e._date, e.config.time_step, "minute") }));
6464
6452
  });
6465
6453
  }
6466
6454
  });
6467
6455
  var d = { content: "" };
6468
6456
  e.config.map_infowindow_max_width && (d.maxWidth = e.config.map_infowindow_max_width), e.map = { _points: [], _markers: [], _infowindow: new google.maps.InfoWindow(d), _infowindows_content: [], _initialization_count: -1, _obj: i }, e.ext.mapView.geocoder = new google.maps.Geocoder(), e.ext.mapView.map = i, e.ext.mapView.points = e.map._points, e.ext.mapView.markers = e.map._markers, e.ext.mapView.infoWindow = e.map._infowindow, e.config.map_resolve_user_location && navigator.geolocation && (e._isMapPositionSet || navigator.geolocation.getCurrentPosition(function(u) {
6469
- var m = new google.maps.LatLng(u.coords.latitude, u.coords.longitude);
6470
- i.setCenter(m), i.setZoom(e.config.map_zoom_after_resolve || 10), e.map._infowindow.setContent(e.locale.labels.marker_geo_success), e.map._infowindow.position = i.getCenter(), e.map._infowindow.open(i), e._isMapPositionSet = !0;
6457
+ var v = new google.maps.LatLng(u.coords.latitude, u.coords.longitude);
6458
+ i.setCenter(v), i.setZoom(e.config.map_zoom_after_resolve || 10), e.map._infowindow.setContent(e.locale.labels.marker_geo_success), e.map._infowindow.position = i.getCenter(), e.map._infowindow.open(i), e._isMapPositionSet = !0;
6471
6459
  }, function() {
6472
6460
  e.map._infowindow.setContent(e.locale.labels.marker_geo_fail), e.map._infowindow.setPosition(i.getCenter()), e.map._infowindow.open(i), e._isMapPositionSet = !0;
6473
6461
  })), google.maps.event.addListener(i, "resize", function(u) {
@@ -6481,34 +6469,34 @@ const lt = { active_links: function(e) {
6481
6469
  u.sort(function(E, D) {
6482
6470
  return E.start_date.valueOf() == D.start_date.valueOf() ? E.id > D.id ? 1 : -1 : E.start_date > D.start_date ? 1 : -1;
6483
6471
  });
6484
- for (var m = "<div " + (y = e._waiAria.mapAttrString()) + " class='dhx_map_area'>", v = 0; v < u.length; v++) {
6485
- var l = u[v], f = l.id == e._selected_event_id ? "dhx_map_line highlight" : "dhx_map_line", g = l.color ? "--dhx-scheduler-event-background:" + l.color + ";" : "", p = l.textColor ? "--dhx-scheduler-event-color:" + l.textColor + ";" : "", y = e._waiAria.mapRowAttrString(l), w = e._waiAria.mapDetailsBtnString();
6486
- m += "<div " + y + " class='" + f + "' event_id='" + l.id + "' " + e.config.event_attribute + "='" + l.id + "' style='" + g + p + (l._text_style || "") + " width: " + (e.xy.map_date_width + e.xy.map_description_width + 2) + "px;'><div class='dhx_map_event_time' style='width: " + e.xy.map_date_width + "px;' >" + e.templates.map_time(l.start_date, l.end_date, l) + "</div>", m += `<div ${w} class='dhx_event_icon icon_details'><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6472
+ for (var v = "<div " + (y = e._waiAria.mapAttrString()) + " class='dhx_map_area'>", m = 0; m < u.length; m++) {
6473
+ var l = u[m], f = l.id == e._selected_event_id ? "dhx_map_line highlight" : "dhx_map_line", g = l.color ? "--dhx-scheduler-event-background:" + l.color + ";" : "", p = l.textColor ? "--dhx-scheduler-event-color:" + l.textColor + ";" : "", y = e._waiAria.mapRowAttrString(l), w = e._waiAria.mapDetailsBtnString();
6474
+ v += "<div " + y + " class='" + f + "' event_id='" + l.id + "' " + e.config.event_attribute + "='" + l.id + "' style='" + g + p + (l._text_style || "") + " width: " + (e.xy.map_date_width + e.xy.map_description_width + 2) + "px;'><div class='dhx_map_event_time' style='width: " + e.xy.map_date_width + "px;' >" + e.templates.map_time(l.start_date, l.end_date, l) + "</div>", v += `<div ${w} class='dhx_event_icon icon_details'><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
6487
6475
  <path d="M15.4444 16.4H4.55556V7.6H15.4444V16.4ZM13.1111 2V3.6H6.88889V2H5.33333V3.6H4.55556C3.69222 3.6 3 4.312 3 5.2V16.4C3 16.8243 3.16389 17.2313 3.45561 17.5314C3.74733 17.8314 4.143 18 4.55556 18H15.4444C15.857 18 16.2527 17.8314 16.5444 17.5314C16.8361 17.2313 17 16.8243 17 16.4V5.2C17 4.312 16.3 3.6 15.4444 3.6H14.6667V2H13.1111ZM13.8889 10.8H10V14.8H13.8889V10.8Z" fill="#A1A4A6"/>
6488
- </svg></div>`, m += "<div class='line_description' style='width:" + (e.xy.map_description_width - e.xy.map_icon_width) + "px;'>" + e.templates.map_text(l.start_date, l.end_date, l) + "</div></div>";
6476
+ </svg></div>`, v += "<div class='line_description' style='width:" + (e.xy.map_description_width - e.xy.map_icon_width) + "px;'>" + e.templates.map_text(l.start_date, l.end_date, l) + "</div></div>";
6489
6477
  }
6490
- m += "<div class='dhx_v_border' style=" + (e.config.rtl ? "'right: " : "'left: ") + (e.xy.map_date_width - 1) + "px;'></div><div class='dhx_v_border_description'></div></div>", e._els.dhx_cal_data[0].scrollTop = 0, e._els.dhx_cal_data[0].innerHTML = m;
6478
+ v += "<div class='dhx_v_border' style=" + (e.config.rtl ? "'right: " : "'left: ") + (e.xy.map_date_width - 1) + "px;'></div><div class='dhx_v_border_description'></div></div>", e._els.dhx_cal_data[0].scrollTop = 0, e._els.dhx_cal_data[0].innerHTML = v;
6491
6479
  var b = e._els.dhx_cal_data[0].firstChild.childNodes, k = e._getNavDateElement();
6492
- for (k && (k.innerHTML = e.templates[e._mode + "_date"](e._min_date, e._max_date, e._mode)), e._rendered = [], v = 0; v < b.length - 2; v++)
6493
- e._rendered[v] = b[v];
6480
+ for (k && (k.innerHTML = e.templates[e._mode + "_date"](e._min_date, e._max_date, e._mode)), e._rendered = [], m = 0; m < b.length - 2; m++)
6481
+ e._rendered[m] = b[m];
6494
6482
  }
6495
6483
  function o(u) {
6496
- var m = document.getElementById(u);
6497
- const v = e.$container.querySelector(".dhx_cal_navline").offsetHeight;
6498
- var l = e._y - v;
6484
+ var v = document.getElementById(u);
6485
+ const m = e.$container.querySelector(".dhx_cal_navline").offsetHeight;
6486
+ var l = e._y - m;
6499
6487
  l < 0 && (l = 0);
6500
6488
  var f = e._x - e.xy.map_date_width - e.xy.map_description_width - 1;
6501
- f < 0 && (f = 0), m.style.height = l + "px", m.style.width = f + "px", m.style.position = "absolute", m.style.top = v + "px", e.config.rtl ? m.style.marginRight = e.xy.map_date_width + e.xy.map_description_width + 1 + "px" : m.style.marginLeft = e.xy.map_date_width + e.xy.map_description_width + 1 + "px", m.style.marginTop = e.xy.nav_height + 2 + "px";
6489
+ f < 0 && (f = 0), v.style.height = l + "px", v.style.width = f + "px", v.style.position = "absolute", v.style.top = m + "px", e.config.rtl ? v.style.marginRight = e.xy.map_date_width + e.xy.map_description_width + 1 + "px" : v.style.marginLeft = e.xy.map_date_width + e.xy.map_description_width + 1 + "px", v.style.marginTop = e.xy.nav_height + 2 + "px";
6502
6490
  }
6503
- e.render_data = function(u, m) {
6491
+ e.render_data = function(u, v) {
6504
6492
  if (this._mode != "map")
6505
6493
  return n.apply(this, arguments);
6506
6494
  _();
6507
- for (var v = e.get_visible_events(), l = 0; l < v.length; l++)
6508
- e.map._markers[v[l].id] || r(v[l], !1, !1);
6495
+ for (var m = e.get_visible_events(), l = 0; l < m.length; l++)
6496
+ e.map._markers[m[l].id] || r(m[l], !1, !1);
6509
6497
  }, e.map_view = function(u) {
6510
6498
  e.map._initialization_count++;
6511
- var m, v = e._els.dhx_gmap[0];
6499
+ var v, m = e._els.dhx_gmap[0];
6512
6500
  if (e._min_date = e.config.map_start || e._currentDate(), e._max_date = e.config.map_end || e.date.add(e._currentDate(), 1, "year"), e._table_view = !0, function(g) {
6513
6501
  if (g) {
6514
6502
  var p = e.locale.labels;
@@ -6520,65 +6508,65 @@ const lt = { active_links: function(e) {
6520
6508
  var g = e.map._markers;
6521
6509
  for (var p in g)
6522
6510
  g.hasOwnProperty(p) && (g[p].setMap(null), delete e.map._markers[p], e.map._infowindows_content[p] && delete e.map._infowindows_content[p]);
6523
- })(), _(), v.style.display = "block", o("dhx_gmap"), m = e.map._obj.getCenter();
6511
+ })(), _(), m.style.display = "block", o("dhx_gmap"), v = e.map._obj.getCenter();
6524
6512
  for (var l = e.get_visible_events(), f = 0; f < l.length; f++)
6525
6513
  e.map._markers[l[f].id] || r(l[f]);
6526
6514
  } else
6527
- v.style.display = "none";
6528
- google.maps.event.trigger(e.map._obj, "resize"), e.map._initialization_count === 0 && m && e.map._obj.setCenter(m), e._selected_event_id && t(e._selected_event_id);
6515
+ m.style.display = "none";
6516
+ google.maps.event.trigger(e.map._obj, "resize"), e.map._initialization_count === 0 && v && e.map._obj.setCenter(v), e._selected_event_id && t(e._selected_event_id);
6529
6517
  };
6530
6518
  var t = function(u) {
6531
6519
  e.map._obj.setCenter(e.map._points[u]), e.callEvent("onClick", [u]);
6532
- }, r = function(u, m, v) {
6520
+ }, r = function(u, v, m) {
6533
6521
  var l = e.config.map_error_position;
6534
6522
  u.lat && u.lng && (l = new google.maps.LatLng(u.lat, u.lng));
6535
6523
  var f = e.templates.marker_text(u.start_date, u.end_date, u);
6536
6524
  e._new_event || (e.map._infowindows_content[u.id] = f, e.map._markers[u.id] && e.map._markers[u.id].setMap(null), e.map._markers[u.id] = e.ext.mapView.createMarker({ position: l, map: e.map._obj }), google.maps.event.addListener(e.map._markers[u.id], "click", function() {
6537
6525
  e.map._infowindow.setContent(e.map._infowindows_content[u.id]), e.map._infowindow.open(e.map._obj, e.map._markers[u.id]), e._selected_event_id = u.id, e.render_data();
6538
- }), e.map._points[u.id] = l, m && e.map._obj.setCenter(e.map._points[u.id]), v && e.callEvent("onClick", [u.id]));
6526
+ }), e.map._points[u.id] = l, v && e.map._obj.setCenter(e.map._points[u.id]), m && e.callEvent("onClick", [u.id]));
6539
6527
  };
6540
- e.attachEvent("onClick", function(u, m) {
6528
+ e.attachEvent("onClick", function(u, v) {
6541
6529
  if (this._mode == "map") {
6542
6530
  e._selected_event_id = u;
6543
- for (var v = 0; v < e._rendered.length; v++)
6544
- e._rendered[v].className = "dhx_map_line", e._rendered[v].getAttribute(e.config.event_attribute) == u && (e._rendered[v].className += " highlight");
6531
+ for (var m = 0; m < e._rendered.length; m++)
6532
+ e._rendered[m].className = "dhx_map_line", e._rendered[m].getAttribute(e.config.event_attribute) == u && (e._rendered[m].className += " highlight");
6545
6533
  e.map._points[u] && e.map._markers[u] && (e.map._obj.setCenter(e.map._points[u]), google.maps.event.trigger(e.map._markers[u], "click"));
6546
6534
  }
6547
6535
  return !0;
6548
6536
  });
6549
6537
  var s = function(u) {
6550
- const m = e.ext.mapView.geocoder;
6551
- u.event_location && m ? m.geocode({ address: u.event_location, language: e.uid().toString() }, function(v, l) {
6538
+ const v = e.ext.mapView.geocoder;
6539
+ u.event_location && v ? v.geocode({ address: u.event_location, language: e.uid().toString() }, function(m, l) {
6552
6540
  var f = {};
6553
- l != google.maps.GeocoderStatus.OK ? (f = e.callEvent("onLocationError", [u.id])) && f !== !0 || (f = e.config.map_error_position) : f = v[0].geometry.location, u.lat = f.lat(), u.lng = f.lng(), e._selected_event_id = u.id, e._latLngUpdate = !0, e.callEvent("onEventChanged", [u.id, u]), r(u, !0, !0);
6541
+ l != google.maps.GeocoderStatus.OK ? (f = e.callEvent("onLocationError", [u.id])) && f !== !0 || (f = e.config.map_error_position) : f = m[0].geometry.location, u.lat = f.lat(), u.lng = f.lng(), e._selected_event_id = u.id, e._latLngUpdate = !0, e.callEvent("onEventChanged", [u.id, u]), r(u, !0, !0);
6554
6542
  }) : r(u, !0, !0);
6555
6543
  }, c = function(u) {
6556
- const m = e.ext.mapView.geocoder;
6557
- u.event_location && m && m.geocode({ address: u.event_location, language: e.uid().toString() }, function(v, l) {
6544
+ const v = e.ext.mapView.geocoder;
6545
+ u.event_location && v && v.geocode({ address: u.event_location, language: e.uid().toString() }, function(m, l) {
6558
6546
  var f = {};
6559
- l != google.maps.GeocoderStatus.OK ? (f = e.callEvent("onLocationError", [u.id])) && f !== !0 || (f = e.config.map_error_position) : f = v[0].geometry.location, u.lat = f.lat(), u.lng = f.lng(), e._latLngUpdate = !0, e.callEvent("onEventChanged", [u.id, u]);
6547
+ l != google.maps.GeocoderStatus.OK ? (f = e.callEvent("onLocationError", [u.id])) && f !== !0 || (f = e.config.map_error_position) : f = m[0].geometry.location, u.lat = f.lat(), u.lng = f.lng(), e._latLngUpdate = !0, e.callEvent("onEventChanged", [u.id, u]);
6560
6548
  });
6561
6549
  };
6562
- e.attachEvent("onEventChanged", function(u, m) {
6563
- return this._latLngUpdate ? this._latLngUpdate = !1 : (m = e.getEvent(u)).start_date < e._min_date && m.end_date > e._min_date || m.start_date < e._max_date && m.end_date > e._max_date || m.start_date.valueOf() >= e._min_date && m.end_date.valueOf() <= e._max_date ? (e.map._markers[u] && e.map._markers[u].setMap(null), s(m)) : (e._selected_event_id = null, e.map._infowindow.close(), e.map._markers[u] && e.map._markers[u].setMap(null)), !0;
6564
- }), e.attachEvent("onEventIdChange", function(u, m) {
6565
- var v = e.getEvent(m);
6566
- return (v.start_date < e._min_date && v.end_date > e._min_date || v.start_date < e._max_date && v.end_date > e._max_date || v.start_date.valueOf() >= e._min_date && v.end_date.valueOf() <= e._max_date) && (e.map._markers[u] && (e.map._markers[u].setMap(null), delete e.map._markers[u]), e.map._infowindows_content[u] && delete e.map._infowindows_content[u], s(v)), !0;
6567
- }), e.attachEvent("onEventAdded", function(u, m) {
6568
- return e._dataprocessor || (m.start_date < e._min_date && m.end_date > e._min_date || m.start_date < e._max_date && m.end_date > e._max_date || m.start_date.valueOf() >= e._min_date && m.end_date.valueOf() <= e._max_date) && (e.map._markers[u] && e.map._markers[u].setMap(null), s(m)), !0;
6569
- }), e.attachEvent("onBeforeEventDelete", function(u, m) {
6550
+ e.attachEvent("onEventChanged", function(u, v) {
6551
+ return this._latLngUpdate ? this._latLngUpdate = !1 : (v = e.getEvent(u)).start_date < e._min_date && v.end_date > e._min_date || v.start_date < e._max_date && v.end_date > e._max_date || v.start_date.valueOf() >= e._min_date && v.end_date.valueOf() <= e._max_date ? (e.map._markers[u] && e.map._markers[u].setMap(null), s(v)) : (e._selected_event_id = null, e.map._infowindow.close(), e.map._markers[u] && e.map._markers[u].setMap(null)), !0;
6552
+ }), e.attachEvent("onEventIdChange", function(u, v) {
6553
+ var m = e.getEvent(v);
6554
+ return (m.start_date < e._min_date && m.end_date > e._min_date || m.start_date < e._max_date && m.end_date > e._max_date || m.start_date.valueOf() >= e._min_date && m.end_date.valueOf() <= e._max_date) && (e.map._markers[u] && (e.map._markers[u].setMap(null), delete e.map._markers[u]), e.map._infowindows_content[u] && delete e.map._infowindows_content[u], s(m)), !0;
6555
+ }), e.attachEvent("onEventAdded", function(u, v) {
6556
+ return e._dataprocessor || (v.start_date < e._min_date && v.end_date > e._min_date || v.start_date < e._max_date && v.end_date > e._max_date || v.start_date.valueOf() >= e._min_date && v.end_date.valueOf() <= e._max_date) && (e.map._markers[u] && e.map._markers[u].setMap(null), s(v)), !0;
6557
+ }), e.attachEvent("onBeforeEventDelete", function(u, v) {
6570
6558
  return e.map._markers[u] && e.map._markers[u].setMap(null), e._selected_event_id = null, e.map._infowindow.close(), !0;
6571
6559
  }), e._event_resolve_delay = 1500, e.attachEvent("onEventLoading", function(u) {
6572
- return e.config.map_resolve_event_location && u.event_location && !u.lat && !u.lng && (e._event_resolve_delay += 1500, function(m, v, l, f) {
6560
+ return e.config.map_resolve_event_location && u.event_location && !u.lat && !u.lng && (e._event_resolve_delay += 1500, function(v, m, l, f) {
6573
6561
  setTimeout(function() {
6574
6562
  if (e.$destroyed)
6575
6563
  return !0;
6576
- var g = m.apply(v, l);
6577
- return m = v = l = null, g;
6564
+ var g = v.apply(m, l);
6565
+ return v = m = l = null, g;
6578
6566
  }, f || 1);
6579
6567
  }(c, this, [u], e._event_resolve_delay)), !0;
6580
- }), e.attachEvent("onEventCancel", function(u, m) {
6581
- return m && (e.map._markers[u] && e.map._markers[u].setMap(null), e.map._infowindow.close()), !0;
6568
+ }), e.attachEvent("onEventCancel", function(u, v) {
6569
+ return v && (e.map._markers[u] && e.map._markers[u].setMap(null), e.map._infowindow.close()), !0;
6582
6570
  });
6583
6571
  });
6584
6572
  }, minical: function(e) {
@@ -6602,11 +6590,11 @@ const lt = { active_links: function(e) {
6602
6590
  }).bind(n)));
6603
6591
  }
6604
6592
  if (e.config.minicalendar.mark_events)
6605
- for (var s = e.date.month_start(_), c = e.date.add(s, 1, "month"), u = this.getEvents(s, c), m = this["filter_" + this._mode], v = {}, l = 0; l < u.length; l++) {
6593
+ for (var s = e.date.month_start(_), c = e.date.add(s, 1, "month"), u = this.getEvents(s, c), v = this["filter_" + this._mode], m = {}, l = 0; l < u.length; l++) {
6606
6594
  var f = u[l];
6607
- if (!m || m(f.id, f)) {
6595
+ if (!v || v(f.id, f)) {
6608
6596
  var g = f.start_date;
6609
- for (g.valueOf() < s.valueOf() && (g = s), g = e.date.date_part(new Date(g.valueOf())); g < f.end_date && (v[+g] || (v[+g] = !0, this.markCalendar(n, g, "dhx_year_event")), !((g = this.date.add(g, 1, "day")).valueOf() >= c.valueOf())); )
6597
+ for (g.valueOf() < s.valueOf() && (g = s), g = e.date.date_part(new Date(g.valueOf())); g < f.end_date && (m[+g] || (m[+g] = !0, this.markCalendar(n, g, "dhx_year_event")), !((g = this.date.add(g, 1, "day")).valueOf() >= c.valueOf())); )
6610
6598
  ;
6611
6599
  }
6612
6600
  }
@@ -6646,7 +6634,7 @@ const lt = { active_links: function(e) {
6646
6634
  this._mode = "calendar";
6647
6635
  var r = this._colsS;
6648
6636
  this._colsS = { height: 0 };
6649
- var s = new Date(this._min_date), c = new Date(this._max_date), u = new Date(e._date), m = _.month_day, v = this._ignores_detected;
6637
+ var s = new Date(this._min_date), c = new Date(this._max_date), u = new Date(e._date), v = _.month_day, m = this._ignores_detected;
6650
6638
  this._ignores_detected = 0, _.month_day = _.calendar_date, i = this.date.month_start(i);
6651
6639
  var l, f = this._week_template(a.offsetWidth - 1 - this.config.minicalendar.padding);
6652
6640
  n ? l = n : (l = document.createElement("div")).className = "dhx_cal_container dhx_mini_calendar", l.setAttribute("date", this._helpers.formatDate(i)), l.innerHTML = "<div class='dhx_year_month'></div><div class='dhx_year_grid" + (e.config.rtl ? " dhx_grid_rtl'>" : "'>") + "<div class='dhx_year_week'>" + (f ? f.innerHTML : "") + "</div><div class='dhx_year_body'></div></div>";
@@ -6677,7 +6665,7 @@ const lt = { active_links: function(e) {
6677
6665
  var O = y.querySelectorAll(".dhx_cal_month_cell"), $ = new Date(M);
6678
6666
  for (T = 0; T < O.length; T++)
6679
6667
  e._waiAria.minicalDayCell(O[T], new Date($)), $ = e.date.add($, 1, "day");
6680
- return e._waiAria.minicalHeader(g, A), this._cols = o, this._mode = t, this._colsS = r, this._min_date = s, this._max_date = c, e._date = u, _.month_day = m, this._ignores_detected = v, l;
6668
+ return e._waiAria.minicalHeader(g, A), this._cols = o, this._mode = t, this._colsS = r, this._min_date = s, this._max_date = c, e._date = u, _.month_day = v, this._ignores_detected = m, l;
6681
6669
  }, e.destroyCalendar = function(a, i) {
6682
6670
  !a && this._def_count && this._def_count.firstChild && (i || (/* @__PURE__ */ new Date()).valueOf() - this._def_count._created.valueOf() > 500) && (a = this._def_count.firstChild), a && (h.detachAll(), a.innerHTML = "", a.parentNode && a.parentNode.removeChild(a), this._def_count && (this._def_count.style.top = "-1000px"), a.conf && a.conf._on_xle_handler && e.detachEvent(a.conf._on_xle_handler));
6683
6671
  }, e.isCalendarVisible = function() {
@@ -6696,7 +6684,7 @@ const lt = { active_links: function(e) {
6696
6684
  var _, o, t = a.getElementsByTagName("input"), r = a.getElementsByTagName("select"), s = function(g, p, y) {
6697
6685
  e.event(g, "click", function() {
6698
6686
  e.destroyCalendar(null, !0), e.renderCalendar({ position: g, date: new Date(this._date), navigation: !0, handler: function(w) {
6699
- g.value = e.templates.calendar_time(w), g._date = new Date(w), e.destroyCalendar(), e.config.event_duration && e.config.auto_end_date && y === 0 && v();
6687
+ g.value = e.templates.calendar_time(w), g._date = new Date(w), e.destroyCalendar(), e.config.event_duration && e.config.auto_end_date && y === 0 && m();
6700
6688
  } });
6701
6689
  });
6702
6690
  };
@@ -6705,8 +6693,8 @@ const lt = { active_links: function(e) {
6705
6693
  var c = "<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> " + e.locale.labels.full_day + "&nbsp;</label></input>";
6706
6694
  e.config.wide_form || (c = a.previousSibling.innerHTML + c), a.previousSibling.innerHTML = c, a._full_day = !0;
6707
6695
  }
6708
- var u = a.previousSibling.getElementsByTagName("input")[0], m = e.date.time_part(d.start_date) === 0 && e.date.time_part(d.end_date) === 0;
6709
- u.checked = m, r[0].disabled = u.checked, r[1].disabled = u.checked, u.$_eventAttached || (u.$_eventAttached = !0, e.event(u, "click", function() {
6696
+ var u = a.previousSibling.getElementsByTagName("input")[0], v = e.date.time_part(d.start_date) === 0 && e.date.time_part(d.end_date) === 0;
6697
+ u.checked = v, r[0].disabled = u.checked, r[1].disabled = u.checked, u.$_eventAttached || (u.$_eventAttached = !0, e.event(u, "click", function() {
6710
6698
  if (u.checked === !0) {
6711
6699
  var g = {};
6712
6700
  e.form_blocks.calendar_time.get_value(a, g), _ = e.date.date_part(g.start_date), (+(o = e.date.date_part(g.end_date)) == +_ || +o >= +_ && (d.end_date.getHours() !== 0 || d.end_date.getMinutes() !== 0)) && (o = e.date.add(o, 1, "day"));
@@ -6716,10 +6704,10 @@ const lt = { active_links: function(e) {
6716
6704
  }));
6717
6705
  }
6718
6706
  if (e.config.event_duration && e.config.auto_end_date) {
6719
- var v = function() {
6707
+ var m = function() {
6720
6708
  e.config.auto_end_date && e.config.event_duration && (_ = e.date.add(t[0]._date, r[0].value, "minute"), o = new Date(_.getTime() + 60 * e.config.event_duration * 1e3), t[1].value = e.templates.calendar_time(o), t[1]._date = e.date.date_part(new Date(o)), r[1].value = 60 * o.getHours() + o.getMinutes());
6721
6709
  };
6722
- r[0].$_eventAttached || r[0].addEventListener("change", v);
6710
+ r[0].$_eventAttached || r[0].addEventListener("change", m);
6723
6711
  }
6724
6712
  function l(g, p, y) {
6725
6713
  s(g, p, y), g.value = e.templates.calendar_time(p), g._date = e.date.date_part(new Date(p));
@@ -6786,8 +6774,8 @@ const lt = { active_links: function(e) {
6786
6774
  for (var n = h.getElementsByTagName("input"), _ = 0; _ < n.length; _++)
6787
6775
  n[_].checked = !1;
6788
6776
  function o(u) {
6789
- for (var m = h.getElementsByTagName("input"), v = 0; v < m.length; v++)
6790
- m[v].checked = !!u[m[v].value];
6777
+ for (var v = h.getElementsByTagName("input"), m = 0; m < v.length; m++)
6778
+ v[m].checked = !!u[v[m].value];
6791
6779
  }
6792
6780
  var t = {};
6793
6781
  if (i[d.map_to]) {
@@ -6802,9 +6790,9 @@ const lt = { active_links: function(e) {
6802
6790
  s.className = "dhx_loading", s.style.cssText = "position: absolute; top: 40%; left: 40%;", h.appendChild(s);
6803
6791
  var c = [d.script_url, d.script_url.indexOf("?") == -1 ? "?" : "&", "dhx_crosslink_" + d.map_to + "=" + i.id + "&uid=" + e.uid()].join("");
6804
6792
  e.ajax.get(c, function(u) {
6805
- var m = function(v, l) {
6793
+ var v = function(m, l) {
6806
6794
  try {
6807
- for (var f = JSON.parse(v.xmlDoc.responseText), g = {}, p = 0; p < f.length; p++) {
6795
+ for (var f = JSON.parse(m.xmlDoc.responseText), g = {}, p = 0; p < f.length; p++) {
6808
6796
  var y = f[p];
6809
6797
  g[y.value || y.key || y.id] = !0;
6810
6798
  }
@@ -6813,11 +6801,11 @@ const lt = { active_links: function(e) {
6813
6801
  return null;
6814
6802
  }
6815
6803
  }(u);
6816
- m || (m = function(v, l) {
6817
- for (var f = e.ajax.xpath("//data/item", v.xmlDoc), g = {}, p = 0; p < f.length; p++)
6804
+ v || (v = function(m, l) {
6805
+ for (var f = e.ajax.xpath("//data/item", m.xmlDoc), g = {}, p = 0; p < f.length; p++)
6818
6806
  g[f[p].getAttribute(l.map_to)] = !0;
6819
6807
  return g;
6820
- }(u, d)), o(m), h.removeChild(s);
6808
+ }(u, d)), o(v), h.removeChild(s);
6821
6809
  });
6822
6810
  }
6823
6811
  }, get_value: function(h, a, i) {
@@ -6855,8 +6843,8 @@ const lt = { active_links: function(e) {
6855
6843
  }
6856
6844
  e.backbone = function(_, o) {
6857
6845
  o && (a = o), _.bind("change", function(s, c) {
6858
- var u = n(s), m = e._events[u] = s.toJSON();
6859
- m.id = u, e._init_event(m), clearTimeout(h), h = setTimeout(function() {
6846
+ var u = n(s), v = e._events[u] = s.toJSON();
6847
+ v.id = u, e._init_event(v), clearTimeout(h), h = setTimeout(function() {
6860
6848
  if (e.$destroyed)
6861
6849
  return !0;
6862
6850
  e.updateView();
@@ -6874,8 +6862,8 @@ const lt = { active_links: function(e) {
6874
6862
  _.bind("add", function(s, c) {
6875
6863
  var u = n(s);
6876
6864
  if (!e._events[u]) {
6877
- var m = s.toJSON();
6878
- m.id = u, e._init_event(m), t.push(m), t.length == 1 && setTimeout(r, 1);
6865
+ var v = s.toJSON();
6866
+ v.id = u, e._init_event(v), t.push(v), t.length == 1 && setTimeout(r, 1);
6879
6867
  }
6880
6868
  }), _.bind("request", function(s) {
6881
6869
  var c;
@@ -6889,8 +6877,8 @@ const lt = { active_links: function(e) {
6889
6877
  return e._events[s] = c.toJSON(), e._events[s].id = s, !0;
6890
6878
  }), e.attachEvent("onEventAdded", function(s) {
6891
6879
  if (!_.get(s)) {
6892
- var c = i(e.getEvent(s)), u = new _.model(c), m = n(u);
6893
- m != s && this.changeEventId(s, m), _.add(u), _.trigger("scheduler:add", u);
6880
+ var c = i(e.getEvent(s)), u = new _.model(c), v = n(u);
6881
+ v != s && this.changeEventId(s, v), _.add(u), _.trigger("scheduler:add", u);
6894
6882
  }
6895
6883
  return !0;
6896
6884
  }), e.attachEvent("onEventChanged", function(s) {
@@ -6906,14 +6894,14 @@ const lt = { active_links: function(e) {
6906
6894
  var h, a = new dhtmlDragAndDropObject(), i = a.stopDrag;
6907
6895
  function d(n, _, o, t) {
6908
6896
  if (!e.checkEvent("onBeforeExternalDragIn") || e.callEvent("onBeforeExternalDragIn", [n, _, o, t, h])) {
6909
- var r = e.attachEvent("onEventCreated", function(v) {
6910
- e.callEvent("onExternalDragIn", [v, n, h]) || (this._drag_mode = this._drag_id = null, this.deleteEvent(v));
6897
+ var r = e.attachEvent("onEventCreated", function(m) {
6898
+ e.callEvent("onExternalDragIn", [m, n, h]) || (this._drag_mode = this._drag_id = null, this.deleteEvent(m));
6911
6899
  }), s = e.getActionData(h), c = { start_date: new Date(s.date) };
6912
6900
  if (e.matrix && e.matrix[e._mode]) {
6913
6901
  var u = e.matrix[e._mode];
6914
6902
  c[u.y_property] = s.section;
6915
- var m = e._locate_cell_timeline(h);
6916
- c.start_date = u._trace_x[m.x], c.end_date = e.date.add(c.start_date, u.x_step, u.x_unit);
6903
+ var v = e._locate_cell_timeline(h);
6904
+ c.start_date = u._trace_x[v.x], c.end_date = e.date.add(c.start_date, u.x_step, u.x_unit);
6917
6905
  }
6918
6906
  e._props && e._props[e._mode] && (c[e._props[e._mode].map_to] = s.section), e.addEventNow(c), e.detachEvent(r);
6919
6907
  }
@@ -6976,10 +6964,10 @@ const lt = { active_links: function(e) {
6976
6964
  return D;
6977
6965
  return k;
6978
6966
  }
6979
- function m(b) {
6967
+ function v(b) {
6980
6968
  return b ? "</" + b + ">" : "";
6981
6969
  }
6982
- function v(b, k, E, D) {
6970
+ function m(b, k, E, D) {
6983
6971
  var x = "<" + b + " profile='" + k + "'";
6984
6972
  return E && (x += " header='" + E + "'"), D && (x += " footer='" + D + "'"), x += ">";
6985
6973
  }
@@ -7099,12 +7087,12 @@ const lt = { active_links: function(e) {
7099
7087
  var M, A = "";
7100
7088
  if (b) {
7101
7089
  var C = e._date, T = e._mode;
7102
- k = e.date[E + "_start"](k), k = e.date["get_" + E + "_end"] ? e.date["get_" + E + "_end"](k) : e.date.add(k, 1, E), A = v("pages", D, x, S);
7090
+ k = e.date[E + "_start"](k), k = e.date["get_" + E + "_end"] ? e.date["get_" + E + "_end"](k) : e.date.add(k, 1, E), A = m("pages", D, x, S);
7103
7091
  for (var O = new Date(b); +O < +k; O = this.date.add(O, 1, E))
7104
- this.setCurrentView(O, E), A += ((M = "page") ? "<" + M + ">" : "") + l().replace("–", "-") + p(N) + m("page");
7105
- A += m("pages"), this.setCurrentView(C, T);
7092
+ this.setCurrentView(O, E), A += ((M = "page") ? "<" + M + ">" : "") + l().replace("–", "-") + p(N) + v("page");
7093
+ A += v("pages"), this.setCurrentView(C, T);
7106
7094
  } else
7107
- A = v("data", D, x, S) + l().replace("–", "-") + p(N) + m("data");
7095
+ A = m("data", D, x, S) + l().replace("–", "-") + p(N) + v("data");
7108
7096
  return A;
7109
7097
  }
7110
7098
  function w(b, k, E, D, x, S, N) {
@@ -7185,13 +7173,15 @@ const lt = { active_links: function(e) {
7185
7173
  var i = a.offsetWidth, d = a.offsetHeight;
7186
7174
  if (e.config.quick_info_detached) {
7187
7175
  var n = h.left - h.dx * (i - h.width);
7188
- n + i > window.innerWidth && (n = window.innerWidth - i), n = Math.max(0, n), a.style.left = n + "px", a.style.top = h.top - (h.dy ? d : -h.height) + "px";
7189
- } else
7190
- a.style.top = this.xy.scale_height + this.xy.nav_height + 20 + "px", h.dx == 1 ? (a.style.right = "auto", a.style.left = -i + "px", setTimeout(function() {
7176
+ e.getView() && e.getView()._x_scroll && (e.config.rtl ? n += e.getView()._x_scroll : n -= e.getView()._x_scroll), n + i > window.innerWidth && (n = window.innerWidth - i), n = Math.max(0, n), a.style.left = n + "px", a.style.top = h.top - (h.dy ? d : -h.height) + "px";
7177
+ } else {
7178
+ const _ = e.$container.querySelector(".dhx_cal_data").offsetTop;
7179
+ a.style.top = _ + 20 + "px", h.dx == 1 ? (a.style.right = "auto", a.style.left = -i + "px", setTimeout(function() {
7191
7180
  a.style.left = "-10px";
7192
7181
  }, 1)) : (a.style.left = "auto", a.style.right = -i + "px", setTimeout(function() {
7193
7182
  a.style.right = "-10px";
7194
7183
  }, 1)), a.className = a.className.replace(" dhx_qi_left", "").replace(" dhx_qi_right", "") + " dhx_qi_" + (h.dx == 1 ? "left" : "right");
7184
+ }
7195
7185
  }, e.attachEvent("onTemplatesReady", function() {
7196
7186
  if (e.hideQuickInfo(), this._quick_info_box) {
7197
7187
  var h = this._quick_info_box;
@@ -7254,10 +7244,10 @@ const lt = { active_links: function(e) {
7254
7244
  e.form_blocks.recurring && (h = e.form_blocks.recurring.set_value);
7255
7245
  var a = e.config.buttons_left.slice(), i = e.config.buttons_right.slice();
7256
7246
  function d(o, t, r, s) {
7257
- for (var c = t.getElementsByTagName(o), u = r.getElementsByTagName(o), m = u.length - 1; m >= 0; m--)
7258
- if (r = u[m], s) {
7259
- var v = document.createElement("span");
7260
- v.className = "dhx_text_disabled", v.innerHTML = s(c[m]), r.parentNode.insertBefore(v, r), r.parentNode.removeChild(r);
7247
+ for (var c = t.getElementsByTagName(o), u = r.getElementsByTagName(o), v = u.length - 1; v >= 0; v--)
7248
+ if (r = u[v], s) {
7249
+ var m = document.createElement("span");
7250
+ m.className = "dhx_text_disabled", m.innerHTML = s(c[v]), r.parentNode.insertBefore(m, r), r.parentNode.removeChild(r);
7261
7251
  } else
7262
7252
  r.disabled = !0, t.checked && (r.checked = !0);
7263
7253
  }
@@ -7272,13 +7262,13 @@ const lt = { active_links: function(e) {
7272
7262
  });
7273
7263
  var s = ["dhx_delete_btn", "dhx_save_btn"], c = [e.config.buttons_left, e.config.buttons_right];
7274
7264
  for (r = 0; r < s.length; r++)
7275
- for (var u = s[r], m = 0; m < c.length; m++) {
7276
- for (var v = c[m], l = -1, f = 0; f < v.length; f++)
7277
- if (v[f] == u) {
7265
+ for (var u = s[r], v = 0; v < c.length; v++) {
7266
+ for (var m = c[v], l = -1, f = 0; f < m.length; f++)
7267
+ if (m[f] == u) {
7278
7268
  l = f;
7279
7269
  break;
7280
7270
  }
7281
- l != -1 && v.splice(l, 1);
7271
+ l != -1 && m.splice(l, 1);
7282
7272
  }
7283
7273
  }
7284
7274
  return this.resetLightbox(), !0;
@@ -7379,26 +7369,26 @@ const lt = { active_links: function(e) {
7379
7369
  }, _init_set_value: function(n, _, o) {
7380
7370
  var t = e.form_blocks.recurring, r = t._get_node_value, s = t._set_node_value;
7381
7371
  e.form_blocks.recurring._ds = { start: o.start_date, end: o._end_date };
7382
- var c = e.date.str_to_date(e.config.repeat_date, !1, !0), u = e.date.date_to_str(e.config.repeat_date), m = n.getElementsByTagName("FORM")[0], v = {};
7372
+ var c = e.date.str_to_date(e.config.repeat_date, !1, !0), u = e.date.date_to_str(e.config.repeat_date), v = n.getElementsByTagName("FORM")[0], m = {};
7383
7373
  function l(D) {
7384
7374
  for (var x = 0; x < D.length; x++) {
7385
7375
  var S = D[x];
7386
7376
  if (S.name)
7387
- if (v[S.name])
7388
- if (v[S.name].nodeType) {
7389
- var N = v[S.name];
7390
- v[S.name] = [N, S];
7377
+ if (m[S.name])
7378
+ if (m[S.name].nodeType) {
7379
+ var N = m[S.name];
7380
+ m[S.name] = [N, S];
7391
7381
  } else
7392
- v[S.name].push(S);
7382
+ m[S.name].push(S);
7393
7383
  else
7394
- v[S.name] = S;
7384
+ m[S.name] = S;
7395
7385
  }
7396
7386
  }
7397
- if (l(m.getElementsByTagName("INPUT")), l(m.getElementsByTagName("SELECT")), !e.config.repeat_date_of_end) {
7387
+ if (l(v.getElementsByTagName("INPUT")), l(v.getElementsByTagName("SELECT")), !e.config.repeat_date_of_end) {
7398
7388
  var f = e.date.date_to_str(e.config.repeat_date);
7399
7389
  e.config.repeat_date_of_end = f(e.date.add(e._currentDate(), 30, "day"));
7400
7390
  }
7401
- s(v, "date_of_end", e.config.repeat_date_of_end);
7391
+ s(m, "date_of_end", e.config.repeat_date_of_end);
7402
7392
  var g = function(D) {
7403
7393
  return e._lightbox.querySelector(`#${D}`) || { style: {} };
7404
7394
  };
@@ -7429,7 +7419,7 @@ const lt = { active_links: function(e) {
7429
7419
  S.value = x;
7430
7420
  }
7431
7421
  e.form_blocks.recurring._get_repeat_code = function(D) {
7432
- var x = [r(v, "repeat")];
7422
+ var x = [r(m, "repeat")];
7433
7423
  for (w[x[0]](x, D); x.length < 5; )
7434
7424
  x.push("");
7435
7425
  var S = "", N = function(M) {
@@ -7441,63 +7431,63 @@ const lt = { active_links: function(e) {
7441
7431
  } else if (A.value)
7442
7432
  return A.value;
7443
7433
  return "no";
7444
- }(v);
7434
+ }(m);
7445
7435
  return N == "no" ? (D.end = new Date(9999, 1, 1), S = "no") : N == "date_of_end" ? D.end = function(M) {
7446
7436
  var A = c(M);
7447
7437
  return e.config.include_end_by && (A = e.date.add(A, 1, "day")), A;
7448
- }(r(v, "date_of_end")) : (e.transpose_type(x.join("_")), S = Math.max(1, r(v, "occurences_count")), D.end = e.date["add_" + x.join("_")](new Date(D.start), S + 0, { start_date: D.start }) || D.start), x.join("_") + "#" + S;
7438
+ }(r(m, "date_of_end")) : (e.transpose_type(x.join("_")), S = Math.max(1, r(m, "occurences_count")), D.end = e.date["add_" + x.join("_")](new Date(D.start), S + 0, { start_date: D.start }) || D.start), x.join("_") + "#" + S;
7449
7439
  };
7450
7440
  var w = { month: function(D, x) {
7451
7441
  var S = e.form_blocks.recurring._get_node_value, N = e.form_blocks.recurring._get_node_numeric_value;
7452
- S(v, "month_type") == "d" ? (D.push(Math.max(1, N(v, "month_count"))), x.start.setDate(S(v, "month_day"))) : (D.push(Math.max(1, N(v, "month_count2"))), D.push(S(v, "month_day2")), D.push(Math.max(1, N(v, "month_week2"))), e.config.repeat_precise || x.start.setDate(1)), x._start = !0;
7442
+ S(m, "month_type") == "d" ? (D.push(Math.max(1, N(m, "month_count"))), x.start.setDate(S(m, "month_day"))) : (D.push(Math.max(1, N(m, "month_count2"))), D.push(S(m, "month_day2")), D.push(Math.max(1, N(m, "month_week2"))), e.config.repeat_precise || x.start.setDate(1)), x._start = !0;
7453
7443
  }, week: function(D, x) {
7454
7444
  var S = e.form_blocks.recurring._get_node_value, N = e.form_blocks.recurring._get_node_numeric_value;
7455
- D.push(Math.max(1, N(v, "week_count"))), D.push(""), D.push("");
7456
- for (var M = [], A = S(v, "week_day", !0), C = x.start.getDay(), T = !1, O = 0; O < A.length; O++)
7445
+ D.push(Math.max(1, N(m, "week_count"))), D.push(""), D.push("");
7446
+ for (var M = [], A = S(m, "week_day", !0), C = x.start.getDay(), T = !1, O = 0; O < A.length; O++)
7457
7447
  M.push(A[O]), T = T || A[O] == C;
7458
7448
  M.length || (M.push(C), T = !0), M.sort(), e.config.repeat_precise ? T || (e.transpose_day_week(x.start, M, 1, 7), x._start = !0) : (x.start = e.date.week_start(x.start), x._start = !0), D.push(M.join(","));
7459
7449
  }, day: function(D) {
7460
7450
  var x = e.form_blocks.recurring._get_node_value, S = e.form_blocks.recurring._get_node_numeric_value;
7461
- x(v, "day_type") == "d" ? D.push(Math.max(1, S(v, "day_count"))) : (D.push("week"), D.push(1), D.push(""), D.push(""), D.push(e.config.recurring_workdays.join(",")), D.splice(0, 1));
7451
+ x(m, "day_type") == "d" ? D.push(Math.max(1, S(m, "day_count"))) : (D.push("week"), D.push(1), D.push(""), D.push(""), D.push(e.config.recurring_workdays.join(",")), D.splice(0, 1));
7462
7452
  }, year: function(D, x) {
7463
7453
  var S = e.form_blocks.recurring._get_node_value;
7464
- S(v, "year_type") == "d" ? (D.push("1"), x.start.setMonth(0), x.start.setDate(S(v, "year_day")), x.start.setMonth(S(v, "year_month"))) : (D.push("1"), D.push(S(v, "year_day2")), D.push(S(v, "year_week2")), x.start.setDate(1), x.start.setMonth(S(v, "year_month2"))), x._start = !0;
7454
+ S(m, "year_type") == "d" ? (D.push("1"), x.start.setMonth(0), x.start.setDate(S(m, "year_day")), x.start.setMonth(S(m, "year_month"))) : (D.push("1"), D.push(S(m, "year_day2")), D.push(S(m, "year_week2")), x.start.setDate(1), x.start.setMonth(S(m, "year_month2"))), x._start = !0;
7465
7455
  } }, b = { week: function(D, x) {
7466
7456
  var S = e.form_blocks.recurring._set_node_value;
7467
- S(v, "week_count", D[1]);
7457
+ S(m, "week_count", D[1]);
7468
7458
  for (var N = D[4].split(","), M = {}, A = 0; A < N.length; A++)
7469
7459
  M[N[A]] = !0;
7470
- S(v, "week_day", M);
7460
+ S(m, "week_day", M);
7471
7461
  }, month: function(D, x) {
7472
7462
  var S = e.form_blocks.recurring._set_node_value;
7473
- D[2] === "" ? (S(v, "month_type", "d"), S(v, "month_count", D[1]), S(v, "month_day", x.start.getDate())) : (S(v, "month_type", "w"), S(v, "month_count2", D[1]), S(v, "month_week2", D[3]), S(v, "month_day2", D[2]));
7463
+ D[2] === "" ? (S(m, "month_type", "d"), S(m, "month_count", D[1]), S(m, "month_day", x.start.getDate())) : (S(m, "month_type", "w"), S(m, "month_count2", D[1]), S(m, "month_week2", D[3]), S(m, "month_day2", D[2]));
7474
7464
  }, day: function(D, x) {
7475
7465
  var S = e.form_blocks.recurring._set_node_value;
7476
- S(v, "day_type", "d"), S(v, "day_count", D[1]);
7466
+ S(m, "day_type", "d"), S(m, "day_count", D[1]);
7477
7467
  }, year: function(D, x) {
7478
7468
  var S = e.form_blocks.recurring._set_node_value;
7479
- D[2] === "" ? (S(v, "year_type", "d"), S(v, "year_day", x.start.getDate()), S(v, "year_month", x.start.getMonth())) : (S(v, "year_type", "w"), S(v, "year_week2", D[3]), S(v, "year_day2", D[2]), S(v, "year_month2", x.start.getMonth()));
7469
+ D[2] === "" ? (S(m, "year_type", "d"), S(m, "year_day", x.start.getDate()), S(m, "year_month", x.start.getMonth())) : (S(m, "year_type", "w"), S(m, "year_week2", D[3]), S(m, "year_day2", D[2]), S(m, "year_month2", x.start.getMonth()));
7480
7470
  } };
7481
7471
  e.form_blocks.recurring._set_repeat_code = function(D, x) {
7482
7472
  var S = e.form_blocks.recurring._set_node_value, N = D.split("#");
7483
7473
  switch (D = N[0].split("_"), b[D[0]](D, x), N[1]) {
7484
7474
  case "no":
7485
- y(v, "no");
7475
+ y(m, "no");
7486
7476
  break;
7487
7477
  case "":
7488
- y(v, "date_of_end");
7478
+ y(m, "date_of_end");
7489
7479
  var M = x.end;
7490
- e.config.include_end_by && (M = e.date.add(M, -1, "day")), S(v, "date_of_end", u(M));
7480
+ e.config.include_end_by && (M = e.date.add(M, -1, "day")), S(m, "date_of_end", u(M));
7491
7481
  break;
7492
7482
  default:
7493
- y(v, "occurences_count"), S(v, "occurences_count", N[1]);
7483
+ y(m, "occurences_count"), S(m, "occurences_count", N[1]);
7494
7484
  }
7495
- S(v, "repeat", D[0]);
7496
- var A = e.form_blocks.recurring._get_form_node(v, "repeat", D[0]);
7485
+ S(m, "repeat", D[0]);
7486
+ var A = e.form_blocks.recurring._get_form_node(m, "repeat", D[0]);
7497
7487
  A.nodeName == "SELECT" ? (A.dispatchEvent(new Event("change")), A.dispatchEvent(new MouseEvent("click"))) : A.dispatchEvent(new MouseEvent("click"));
7498
7488
  };
7499
- for (var k = 0; k < m.elements.length; k++) {
7500
- var E = m.elements[k];
7489
+ for (var k = 0; k < v.elements.length; k++) {
7490
+ var E = v.elements[k];
7501
7491
  E.name === "repeat" && (E.nodeName != "SELECT" || E.$_eventAttached ? E.$_eventAttached || (E.$_eventAttached = !0, E.addEventListener("click", p)) : (E.$_eventAttached = !0, E.addEventListener("change", p)));
7502
7492
  }
7503
7493
  e._lightbox._rec_init_done = !0;
@@ -7600,9 +7590,9 @@ const lt = { active_links: function(e) {
7600
7590
  for (var u in c)
7601
7591
  c.hasOwnProperty(u) && (delete this._rec_markers[c[u].id], this.deleteEvent(c[u].id, !0));
7602
7592
  delete this._rec_markers_pull[n];
7603
- for (var m = !1, v = 0; v < this._rendered.length; v++)
7604
- this._rendered[v].getAttribute(this.config.event_attribute) == n && (m = !0);
7605
- m || (this._select_id = null);
7593
+ for (var v = !1, m = 0; m < this._rendered.length; m++)
7594
+ this._rendered[m].getAttribute(this.config.event_attribute) == n && (v = !0);
7595
+ v || (this._select_id = null);
7606
7596
  }
7607
7597
  return !0;
7608
7598
  }), e.attachEvent("onEventAdded", function(n) {
@@ -7628,9 +7618,9 @@ const lt = { active_links: function(e) {
7628
7618
  }, e.showLightbox_rec = e.showLightbox, e.showLightbox = function(n) {
7629
7619
  var _ = this.locale, o = e.config.lightbox_recurring, t = this.getEvent(n), r = t.event_pid, s = this._is_virtual_event(n);
7630
7620
  s && (r = n.split("#")[0]);
7631
- var c = function(m) {
7632
- var v = e.getEvent(m);
7633
- return v._end_date = v.end_date, v.end_date = new Date(v.start_date.valueOf() + 1e3 * v.event_length), e.showLightbox_rec(m);
7621
+ var c = function(v) {
7622
+ var m = e.getEvent(v);
7623
+ return m._end_date = m.end_date, m.end_date = new Date(m.start_date.valueOf() + 1e3 * m.event_length), e.showLightbox_rec(v);
7634
7624
  };
7635
7625
  if ((r || 1 * r == 0) && t.rec_type)
7636
7626
  return c(n);
@@ -7638,8 +7628,8 @@ const lt = { active_links: function(e) {
7638
7628
  return this.showLightbox_rec(n);
7639
7629
  if (o == "ask") {
7640
7630
  var u = this;
7641
- e.modalbox({ text: _.labels.confirm_recurring, title: _.labels.title_confirm_recurring, width: "500px", position: "middle", buttons: [_.labels.button_edit_series, _.labels.button_edit_occurrence, _.labels.icon_cancel], callback: function(m) {
7642
- switch (+m) {
7631
+ e.modalbox({ text: _.labels.confirm_recurring, title: _.labels.title_confirm_recurring, width: "500px", position: "middle", buttons: [_.labels.button_edit_series, _.labels.button_edit_occurrence, _.labels.icon_cancel], callback: function(v) {
7632
+ switch (+v) {
7643
7633
  case 0:
7644
7634
  return c(r);
7645
7635
  case 1:
@@ -7690,48 +7680,48 @@ const lt = { active_links: function(e) {
7690
7680
  s[c] = 1 * s[c] || 7;
7691
7681
  s.sort();
7692
7682
  }
7693
- this.date[_] = function(u, m) {
7694
- var v = Math.floor((m.valueOf() - u.valueOf()) / (864e5 * r));
7695
- return v > 0 && u.setDate(u.getDate() + v * r), s && e.transpose_day_week(u, s, 1, r), u;
7696
- }, this.date[t] = function(u, m) {
7697
- var v = new Date(u.valueOf());
7683
+ this.date[_] = function(u, v) {
7684
+ var m = Math.floor((v.valueOf() - u.valueOf()) / (864e5 * r));
7685
+ return m > 0 && u.setDate(u.getDate() + m * r), s && e.transpose_day_week(u, s, 1, r), u;
7686
+ }, this.date[t] = function(u, v) {
7687
+ var m = new Date(u.valueOf());
7698
7688
  if (s)
7699
- for (var l = 0; l < m; l++)
7700
- e.transpose_day_week(v, s, 0, r);
7689
+ for (var l = 0; l < v; l++)
7690
+ e.transpose_day_week(m, s, 0, r);
7701
7691
  else
7702
- v.setDate(v.getDate() + m * r);
7703
- return v;
7692
+ m.setDate(m.getDate() + v * r);
7693
+ return m;
7704
7694
  };
7705
7695
  } else
7706
- o[0] != "month" && o[0] != "year" || (this.date[_] = function(u, m, v) {
7707
- var l = Math.ceil((12 * m.getFullYear() + 1 * m.getMonth() + 1 - (12 * u.getFullYear() + 1 * u.getMonth() + 1)) / r - 1);
7708
- return l >= 0 && (u.setDate(1), u.setMonth(u.getMonth() + l * r)), e.date[t](u, 0, v);
7709
- }, this.date[t] = function(u, m, v, l) {
7696
+ o[0] != "month" && o[0] != "year" || (this.date[_] = function(u, v, m) {
7697
+ var l = Math.ceil((12 * v.getFullYear() + 1 * v.getMonth() + 1 - (12 * u.getFullYear() + 1 * u.getMonth() + 1)) / r - 1);
7698
+ return l >= 0 && (u.setDate(1), u.setMonth(u.getMonth() + l * r)), e.date[t](u, 0, m);
7699
+ }, this.date[t] = function(u, v, m, l) {
7710
7700
  if (l ? l++ : l = 1, l > 12)
7711
7701
  return null;
7712
7702
  var f = new Date(u.valueOf());
7713
- f.setDate(1), f.setMonth(f.getMonth() + m * r);
7703
+ f.setDate(1), f.setMonth(f.getMonth() + v * r);
7714
7704
  var g = f.getMonth(), p = f.getFullYear();
7715
- f.setDate(v.start_date.getDate()), o[3] && e.date.day_week(f, o[2], o[3]);
7705
+ f.setDate(m.start_date.getDate()), o[3] && e.date.day_week(f, o[2], o[3]);
7716
7706
  var y = e.config.recurring_overflow_instances;
7717
- return f.getMonth() != g && y != "none" && (f = y === "lastDay" ? new Date(p, g + 1, 0, f.getHours(), f.getMinutes(), f.getSeconds(), f.getMilliseconds()) : e.date[t](new Date(p, g + 1, 0), m || 1, v, l)), f;
7707
+ return f.getMonth() != g && y != "none" && (f = y === "lastDay" ? new Date(p, g + 1, 0, f.getHours(), f.getMinutes(), f.getSeconds(), f.getMilliseconds()) : e.date[t](new Date(p, g + 1, 0), v || 1, m, l)), f;
7718
7708
  });
7719
7709
  }
7720
7710
  }, e.repeat_date = function(n, _, o, t, r, s) {
7721
7711
  t = t || this._min_date, r = r || this._max_date;
7722
- var c = s || -1, u = new Date(n.start_date.valueOf()), m = u.getHours(), v = 0;
7712
+ var c = s || -1, u = new Date(n.start_date.valueOf()), v = u.getHours(), m = 0;
7723
7713
  for (!n.rec_pattern && n.rec_type && (n.rec_pattern = n.rec_type.split("#")[0]), this.transpose_type(n.rec_pattern), u = e.date["transpose_" + n.rec_pattern](u, t, n); u && (u < n.start_date || e._fix_daylight_saving_date(u, t, n, u, new Date(u.valueOf() + 1e3 * n.event_length)).valueOf() <= t.valueOf() || u.valueOf() + 1e3 * n.event_length <= t.valueOf()); )
7724
7714
  u = this.date["add_" + n.rec_pattern](u, 1, n);
7725
- for (; u && u < r && u < n.end_date && (c < 0 || v < c); ) {
7726
- u.setHours(m);
7715
+ for (; u && u < r && u < n.end_date && (c < 0 || m < c); ) {
7716
+ u.setHours(v);
7727
7717
  var l = e.config.occurrence_timestamp_in_utc ? Date.UTC(u.getFullYear(), u.getMonth(), u.getDate(), u.getHours(), u.getMinutes(), u.getSeconds()) : u.valueOf(), f = this._get_rec_marker(l, n.id);
7728
7718
  if (f)
7729
- o && (f.rec_type != "none" && v++, _.push(f));
7719
+ o && (f.rec_type != "none" && m++, _.push(f));
7730
7720
  else {
7731
7721
  var g = new Date(u.valueOf() + 1e3 * n.event_length), p = this._copy_event(n);
7732
7722
  if (p.text = n.text, p.start_date = u, p.event_pid = n.id, p.id = n.id + "#" + Math.round(l / 1e3), p.end_date = g, p.end_date = e._fix_daylight_saving_date(p.start_date, p.end_date, n, u, p.end_date), p._timed = this.isOneDayEvent(p), !p._timed && !this._table_view && !this.config.multi_day)
7733
7723
  return;
7734
- _.push(p), o || (this._events[p.id] = p, this._rec_temp.push(p)), v++;
7724
+ _.push(p), o || (this._events[p.id] = p, this._rec_temp.push(p)), m++;
7735
7725
  }
7736
7726
  u = this.date["add_" + n.rec_pattern](u, 1, n);
7737
7727
  }
@@ -7883,8 +7873,8 @@ END:VCALENDAR`;
7883
7873
  }
7884
7874
  var u = ["date=" + i(r || o), "mode=" + (t || _)];
7885
7875
  d && u.push("event=" + d);
7886
- var m = "#" + u.join(",");
7887
- return document.location.hash = m, !0;
7876
+ var v = "#" + u.join(",");
7877
+ return document.location.hash = v, !0;
7888
7878
  });
7889
7879
  });
7890
7880
  }, week_agenda: function(e) {
@@ -7956,14 +7946,14 @@ END:VCALENDAR`;
7956
7946
  }
7957
7947
  });
7958
7948
  }
7959
- for (var u = this.getEvents(o, this.date.add(o, 1, "day")), m = "", v = 0; v < u.length; v++) {
7960
- var l = u[v];
7949
+ for (var u = this.getEvents(o, this.date.add(o, 1, "day")), v = "", m = 0; m < u.length; m++) {
7950
+ var l = u[m];
7961
7951
  if (this.filter_event(l.id, l)) {
7962
7952
  var f = l.color ? "--dhx-scheduler-event-background:" + l.color + ";" : "", g = l.textColor ? "--dhx-scheduler-event-color:" + l.textColor + ";" : "";
7963
- m += "<div class='dhx_tooltip_line' style='" + f + g + "' event_id='" + u[v].id + "' " + this.config.event_attribute + "='" + u[v].id + "'>", m += "<div class='dhx_tooltip_date' style='" + f + g + "'>" + (u[v]._timed ? this.templates.event_date(u[v].start_date) : "") + "</div>", m += "<div class='dhx_event_icon icon_details'>&nbsp;</div>", m += this.templates.year_tooltip(u[v].start_date, u[v].end_date, u[v]) + "</div>";
7953
+ v += "<div class='dhx_tooltip_line' style='" + f + g + "' event_id='" + u[m].id + "' " + this.config.event_attribute + "='" + u[m].id + "'>", v += "<div class='dhx_tooltip_date' style='" + f + g + "'>" + (u[m]._timed ? this.templates.event_date(u[m].start_date) : "") + "</div>", v += "<div class='dhx_event_icon icon_details'>&nbsp;</div>", v += this.templates.year_tooltip(u[m].start_date, u[m].end_date, u[m]) + "</div>";
7964
7954
  }
7965
7955
  }
7966
- this._tooltip.style.display = "", this._tooltip.style.top = "0px", document.body.offsetWidth - t.left - this._tooltip.offsetWidth < 0 ? this._tooltip.style.left = t.left - this._tooltip.offsetWidth + "px" : this._tooltip.style.left = t.left + s.offsetWidth + "px", this._tooltip.date = o, this._tooltip.innerHTML = m, document.body.offsetHeight - t.top - this._tooltip.offsetHeight < 0 ? this._tooltip.style.top = t.top - this._tooltip.offsetHeight + s.offsetHeight + "px" : this._tooltip.style.top = t.top + "px";
7956
+ this._tooltip.style.display = "", this._tooltip.style.top = "0px", document.body.offsetWidth - t.left - this._tooltip.offsetWidth < 0 ? this._tooltip.style.left = t.left - this._tooltip.offsetWidth + "px" : this._tooltip.style.left = t.left + s.offsetWidth + "px", this._tooltip.date = o, this._tooltip.innerHTML = v, document.body.offsetHeight - t.top - this._tooltip.offsetHeight < 0 ? this._tooltip.style.top = t.top - this._tooltip.offsetHeight + s.offsetHeight + "px" : this._tooltip.style.top = t.top + "px";
7967
7957
  }, e._year_view_tooltip_handler = function(o) {
7968
7958
  if (h()) {
7969
7959
  var t = o.target || o.srcElement;
@@ -8001,36 +7991,29 @@ END:VCALENDAR`;
8001
7991
  }, e._reset_year_scale = function() {
8002
7992
  this._cols = [], this._colsS = {};
8003
7993
  var o = [], t = this._els.dhx_cal_data[0], r = this.config;
8004
- t.scrollTop = 0, t.innerHTML = "";
8005
- var s = Math.floor(parseInt(t.style.width) / r.year_x), c = Math.floor((parseInt(t.style.height) - e.xy.year_top) / r.year_y);
8006
- c < 190 && (c = 190, s = Math.floor((parseInt(t.style.width) - e.xy.scroll_width) / r.year_x));
8007
- var u = document.createElement("div"), m = this.date.week_start(e._currentDate());
8008
- this._process_ignores(m, 7, "day", 1);
8009
- for (var v = 0; v < 7; v++)
8010
- this._ignores && this._ignores[v] || (this._cols[v] = "var(--dhx-scheduler-datepicker-cell-size)", this._render_x_header(v, 0, m, u)), m = this.date.add(m, 1, "day");
8011
- for (u.lastChild.className += " dhx_scale_bar_last", v = 0; v < u.childNodes.length; v++)
8012
- this._waiAria.yearHeadCell(u.childNodes[v]);
8013
- var l = this.date[this._mode + "_start"](this.date.copy(this._date)), f = l, g = null;
8014
- const p = document.createElement("div");
8015
- for (p.classList.add("dhx_year_wrapper"), v = 0; v < r.year_y; v++)
8016
- for (var y = 0; y < r.year_x; y++) {
8017
- (g = document.createElement("div")).className = "dhx_year_box", this._is_new_skin() || (g.style.cssText = "position:absolute;"), g.setAttribute("date", this._helpers.formatDate(l)), g.setAttribute("data-month-date", this._helpers.formatDate(l)), g.innerHTML = "<div class='dhx_year_month'></div><div class='dhx_year_grid'><div class='dhx_year_week'>" + u.innerHTML + "</div><div class='dhx_year_body'></div></div>";
8018
- var w = g.querySelector(".dhx_year_month"), b = g.querySelector(".dhx_year_grid"), k = g.querySelector(".dhx_year_week"), E = g.querySelector(".dhx_year_body"), D = e.uid();
8019
- this._waiAria.yearHeader(w, D), this._waiAria.yearGrid(b, D), w.innerHTML = this.templates.year_month(l);
8020
- var x = this.date.week_start(l);
8021
- this._reset_month_scale(E, l, x, 6);
8022
- for (var S = E.querySelectorAll("td"), N = 0; N < S.length; N++)
8023
- this._waiAria.yearDayCell(S[N]);
8024
- if (p.appendChild(g), !this._is_new_skin()) {
8025
- k.style.height = k.childNodes[0].offsetHeight + "px";
8026
- var M = Math.round((c - 190) / 2);
8027
- g.style.marginTop = M + "px", this.set_xy(g, s - 10, c - M - 10, s * y + 5, c * v + 5 + e.xy.year_top);
8028
- }
8029
- o[v * r.year_x + y] = (l.getDay() - (this.config.start_on_monday ? 1 : 0) + 7) % 7, l = this.date.add(l, 1, "month");
8030
- }
8031
- t.appendChild(p);
8032
- var A = this._getNavDateElement();
8033
- A && (A.innerHTML = this.templates[this._mode + "_date"](f, l, this._mode)), this.week_starts = o, o._month = f.getMonth(), this._min_date = f, this._max_date = l;
7994
+ t.scrollTop = 0, t.innerHTML = "", Math.floor((parseInt(t.style.height) - e.xy.year_top) / r.year_y);
7995
+ var s = document.createElement("div"), c = this.date.week_start(e._currentDate());
7996
+ this._process_ignores(c, 7, "day", 1);
7997
+ for (var u = 0; u < 7; u++)
7998
+ this._ignores && this._ignores[u] || (this._cols[u] = "var(--dhx-scheduler-datepicker-cell-size)", this._render_x_header(u, 0, c, s)), c = this.date.add(c, 1, "day");
7999
+ for (s.lastChild.className += " dhx_scale_bar_last", u = 0; u < s.childNodes.length; u++)
8000
+ this._waiAria.yearHeadCell(s.childNodes[u]);
8001
+ var v = this.date[this._mode + "_start"](this.date.copy(this._date)), m = v, l = null;
8002
+ const f = document.createElement("div");
8003
+ for (f.classList.add("dhx_year_wrapper"), u = 0; u < r.year_y; u++)
8004
+ for (var g = 0; g < r.year_x; g++) {
8005
+ (l = document.createElement("div")).className = "dhx_year_box", l.setAttribute("date", this._helpers.formatDate(v)), l.setAttribute("data-month-date", this._helpers.formatDate(v)), l.innerHTML = "<div class='dhx_year_month'></div><div class='dhx_year_grid'><div class='dhx_year_week'>" + s.innerHTML + "</div><div class='dhx_year_body'></div></div>";
8006
+ var p = l.querySelector(".dhx_year_month"), y = l.querySelector(".dhx_year_grid"), w = l.querySelector(".dhx_year_body"), b = e.uid();
8007
+ this._waiAria.yearHeader(p, b), this._waiAria.yearGrid(y, b), p.innerHTML = this.templates.year_month(v);
8008
+ var k = this.date.week_start(v);
8009
+ this._reset_month_scale(w, v, k, 6);
8010
+ for (var E = w.querySelectorAll("td"), D = 0; D < E.length; D++)
8011
+ this._waiAria.yearDayCell(E[D]);
8012
+ f.appendChild(l), o[u * r.year_x + g] = (v.getDay() - (this.config.start_on_monday ? 1 : 0) + 7) % 7, v = this.date.add(v, 1, "month");
8013
+ }
8014
+ t.appendChild(f);
8015
+ var x = this._getNavDateElement();
8016
+ x && (x.innerHTML = this.templates[this._mode + "_date"](m, v, this._mode)), this.week_starts = o, o._month = m.getMonth(), this._min_date = m, this._max_date = v;
8034
8017
  }, e._reset_year_scale = function() {
8035
8018
  var o = this._els.dhx_cal_data[0];
8036
8019
  o.scrollTop = 0, o.innerHTML = "";
@@ -8039,12 +8022,12 @@ END:VCALENDAR`;
8039
8022
  const r = document.createElement("div");
8040
8023
  r.classList.add("dhx_year_wrapper");
8041
8024
  let s = t;
8042
- for (let m = 0; m < 12; m++) {
8043
- let v = document.createElement("div");
8044
- v.className = "dhx_year_box", v.setAttribute("date", this._helpers.formatDate(s)), v.setAttribute("data-month-date", this._helpers.formatDate(s)), v.innerHTML = `<div class='dhx_year_month'>${this.templates.year_month(s)}</div>
8025
+ for (let v = 0; v < 12; v++) {
8026
+ let m = document.createElement("div");
8027
+ m.className = "dhx_year_box", m.setAttribute("date", this._helpers.formatDate(s)), m.setAttribute("data-month-date", this._helpers.formatDate(s)), m.innerHTML = `<div class='dhx_year_month'>${this.templates.year_month(s)}</div>
8045
8028
  <div class='dhx_year_grid'></div>`;
8046
- const l = v.querySelector(".dhx_year_grid"), f = e._createDatePicker(null, { date: s, minWeeks: 6 });
8047
- f._renderDayGrid(l), f.destructor(), r.appendChild(v), s = this.date.add(s, 1, "month");
8029
+ const l = m.querySelector(".dhx_year_grid"), f = e._createDatePicker(null, { date: s, minWeeks: 6 });
8030
+ f._renderDayGrid(l), f.destructor(), r.appendChild(m), s = this.date.add(s, 1, "month");
8048
8031
  }
8049
8032
  o.appendChild(r);
8050
8033
  let c = this.date.add(t, 1, "year");