dhtmlx-scheduler 7.0.1 → 7.0.3

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) {
@@ -1283,16 +1272,16 @@ function De(e) {
1283
1272
  typeof T == "string" && (T = document.getElementById(T)), T.style.display == "none" && (T.style.display = ""), S.childNodes[E.title ? 1 : 0].appendChild(T);
1284
1273
  }
1285
1274
  return e.event(S, "click", function(O) {
1286
- var $ = O.target || O.srcElement;
1287
- if ($.className || ($ = $.parentNode), q.closest($, ".scheduler_popup_button")) {
1288
- var L = $.getAttribute("data-result");
1289
- i(E, L = L == "true" || L != "false" && L);
1275
+ var L = O.target || O.srcElement;
1276
+ if (L.className || (L = L.parentNode), q.closest(L, ".scheduler_popup_button")) {
1277
+ var $ = L.getAttribute("data-result");
1278
+ i(E, $ = $ == "true" || $ != "false" && $);
1290
1279
  }
1291
1280
  }), E.box = S, (D || x) && (a = E), S;
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: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } }, $e = { 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"] } }, Le = { 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.1" };
1893
+ const h = { version: "7.0.3" };
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]);
@@ -2237,8 +2221,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2237
2221
  this.config.time_step = 1;
2238
2222
  var T = this._mouse_coords(l);
2239
2223
  this.config.time_step = E;
2240
- var O = f.y * E * 6e4, $ = Math.min(f.y + 1, C) * E * 6e4, L = 6e4 * T.y;
2241
- p = Math.abs(O - L) > Math.abs($ - L) ? N + $ : N + O, p += 6e4 * (new Date(p).getTimezoneOffset() - M.getTimezoneOffset()), this._els.dhx_cal_data[0].style.cursor = "s-resize", this._mode != "week" && this._mode != "day" || (p = this._correct_shift(p));
2224
+ var O = f.y * E * 6e4, L = Math.min(f.y + 1, C) * E * 6e4, $ = 6e4 * T.y;
2225
+ p = Math.abs(O - $) > Math.abs(L - $) ? N + L : N + O, p += 6e4 * (new Date(p).getTimezoneOffset() - M.getTimezoneOffset()), this._els.dhx_cal_data[0].style.cursor = "s-resize", this._mode != "week" && this._mode != "day" || (p = this._correct_shift(p));
2242
2226
  }
2243
2227
  if (this._drag_mode == "new-size")
2244
2228
  if (p <= this._drag_start) {
@@ -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) {
@@ -2513,13 +2495,13 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
2513
2495
  M.appendChild(C);
2514
2496
  var T = "dhx_cal_month_cell";
2515
2497
  g < f ? T += " dhx_before" : g >= y ? T += " dhx_after" : g.valueOf() == b.valueOf() && (T += " dhx_now"), this._ignores_detected && this._ignores[A] && (T += " dhx_scale_ignore"), C.className = T + " " + this.templates.month_date_class(g, b), C.setAttribute("data-cell-date", t.templates.format_date(g));
2516
- var O = "dhx_month_body", $ = "dhx_month_head";
2517
- if (A === 0 && this.config.left_border && (O += " dhx_month_body_border", $ += " dhx_month_head_border"), this._ignores_detected && this._ignores[A])
2498
+ var O = "dhx_month_body", L = "dhx_month_head";
2499
+ if (A === 0 && this.config.left_border && (O += " dhx_month_body_border", L += " dhx_month_head_border"), this._ignores_detected && this._ignores[A])
2518
2500
  C.appendChild(document.createElement("div")), C.appendChild(document.createElement("div"));
2519
2501
  else {
2520
2502
  C.style.width = k[A], this._waiAria.monthCellAttr(C, g);
2521
- var L = document.createElement("div");
2522
- L.style.height = t.xy.month_head_height + "px", L.className = $, L.innerHTML = this.templates.month_day(g), C.appendChild(L);
2503
+ var $ = document.createElement("div");
2504
+ $.style.height = t.xy.month_head_height + "px", $.className = L, $.innerHTML = this.templates.month_day(g), C.appendChild($);
2523
2505
  var P = document.createElement("div");
2524
2506
  P.className = O, C.appendChild(P);
2525
2507
  }
@@ -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,56 +2807,56 @@ 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) {
@@ -2888,50 +2870,50 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
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,41 +3201,41 @@ 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);
3242
3224
  var N = document.createElement("div");
3243
- N.style.cssText += "overflow:hidden;height:100%", x.appendChild(N), this._els.dhx_cal_data[0].appendChild(x), this._rendered.push(x), N.innerHTML = "<textarea class='dhx_cal_editor'>" + r.text + "</textarea>", this._editor = N.querySelector("textarea"), t.event(this._editor, "keydown", function($) {
3244
- if ($.shiftKey)
3225
+ N.style.cssText += "overflow:hidden;height:100%", x.appendChild(N), this._els.dhx_cal_data[0].appendChild(x), this._rendered.push(x), N.innerHTML = "<textarea class='dhx_cal_editor'>" + r.text + "</textarea>", this._editor = N.querySelector("textarea"), t.event(this._editor, "keydown", function(L) {
3226
+ if (L.shiftKey)
3245
3227
  return !0;
3246
- var L = $.keyCode;
3247
- L == t.keys.edit_save && t.editStop(!0), L == t.keys.edit_cancel && t.editStop(!1), L != t.keys.edit_save && L != t.keys.edit_cancel || $.preventDefault && $.preventDefault();
3248
- }), t.event(this._editor, "selectstart", function($) {
3249
- return $.cancelBubble = !0, !0;
3228
+ var $ = L.keyCode;
3229
+ $ == t.keys.edit_save && t.editStop(!0), $ == t.keys.edit_cancel && t.editStop(!1), $ != t.keys.edit_save && $ != t.keys.edit_cancel || L.preventDefault && L.preventDefault();
3230
+ }), t.event(this._editor, "selectstart", function(L) {
3231
+ return L.cancelBubble = !0, !0;
3250
3232
  }), t._focus(this._editor, !0), this._els.dhx_cal_data[0].scrollLeft = 0;
3251
3233
  }
3252
3234
  if (this.xy.menu_width !== 0 && this._select_id == r.id) {
3253
3235
  this.config.cascade_event_display && this._drag_mode && (x.style.zIndex = 1);
3254
3236
  for (var M, A = this.config["icons_" + (this._edit_id == r.id ? "edit" : "select")], C = "", T = 0; T < A.length; T++) {
3255
- const $ = A[T];
3256
- M = this._waiAria.eventMenuAttrString($), C += `<div class='dhx_menu_icon ${$}' title='${this.locale.labels[$]}' ${M}></div>`;
3237
+ const L = A[T];
3238
+ M = this._waiAria.eventMenuAttrString(L), C += `<div class='dhx_menu_icon ${L}' title='${this.locale.labels[L]}' ${M}></div>`;
3257
3239
  }
3258
3240
  var O = this._render_v_bar(r, b - u - 1, f, u, null, "", "<div class='dhx_menu_head'></div>", C, !0);
3259
3241
  r.color && O.style.setProperty("--dhx-scheduler-event-background", r.color), r.textColor && O.style.setProperty("--dhx-scheduler-event-color", r.textColor), this._els.dhx_cal_data[0].appendChild(O), this._rendered.push(O);
@@ -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-color:" + 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) {
@@ -3797,7 +3779,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
3797
3779
  });
3798
3780
  });
3799
3781
  }(h);
3800
- const _ = new qe({ en: Le, ar: Se, be: Ne, ca: Me, cn: Ae, cs: Ce, da: Te, de: Oe, el: He, es: $e, fi: ze, fr: je, he: Pe, hu: Ve, id: Ie, it: Be, jp: Re, nb: Fe, nl: Je, no: Ue, pl: Ye, pt: We, ro: Ke, ru: Ge, si: Xe, sk: Ze, sv: Qe, tr: et, ua: tt });
3782
+ const _ = new qe({ en: $e, ar: Se, be: Ne, ca: Me, cn: Ae, cs: Ce, da: Te, de: Oe, el: He, es: Le, fi: ze, fr: je, he: Pe, hu: Ve, id: Ie, it: Be, jp: Re, nb: Fe, nl: Je, no: Ue, pl: Ye, pt: We, ro: Ke, ru: Ge, si: Xe, sk: Ze, sv: Qe, tr: et, ua: tt });
3801
3783
  h.i18n = { addLocale: _.addLocale, setLocale: function(t) {
3802
3784
  if (typeof t == "string") {
3803
3785
  var r = _.getLocale(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,10 @@ 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
+ let y = "";
4268
+ return (m.color || m.textColor) && (y = ` style="${m.color ? "--dhx-scheduler-event-background:" + m.color + ";" : ""}${m.textColor ? "--dhx-scheduler-event-color:" + m.textColor + ";" : ""}" `), `<div class="dhx_cal_agenda_event_line ${g || ""} ${m.id == f ? "dhx_cal_agenda_event_line_selected" : ""}" ${y} ${e.config.event_attribute}="${m.id}">
4286
4269
  <div class="dhx_cal_agenda_event_line_marker"></div>
4287
4270
  <div class="dhx_cal_agenda_event_line_time">${l}</div>
4288
4271
  <div class="dhx_cal_agenda_event_line_text">${p}</div>
@@ -4319,20 +4302,20 @@ const lt = { active_links: function(e) {
4319
4302
  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
4303
  var u = !1;
4321
4304
  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) {
4305
+ var v = this._safe_copy(s);
4306
+ 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
4307
  if (!u) {
4325
- o[r--] = m;
4308
+ o[r--] = v;
4326
4309
  continue;
4327
4310
  }
4328
- o.splice(r + 1, 0, m), m._last_chunk = !1;
4311
+ o.splice(r + 1, 0, v), v._last_chunk = !1;
4329
4312
  } else
4330
4313
  c._last_chunk = !0, c._drag_resize = !0;
4331
4314
  } else
4332
4315
  this._mode != "month" && o.splice(r--, 1);
4333
4316
  }
4334
- var v = this._drag_mode != "move" && t;
4335
- return d.call(this, o, v);
4317
+ var m = this._drag_mode != "move" && t;
4318
+ return d.call(this, o, m);
4336
4319
  function l(p) {
4337
4320
  var y = f(p.start_date);
4338
4321
  return +p.end_date > +y;
@@ -4408,8 +4391,8 @@ const lt = { active_links: function(e) {
4408
4391
  }
4409
4392
  }
4410
4393
  }
4411
- var m = e._get_section_view(), v = e._get_section_property(), l = !0;
4412
- if (m) {
4394
+ var v = e._get_section_view(), m = e._get_section_property(), l = !0;
4395
+ if (v) {
4413
4396
  var f = 0;
4414
4397
  for (c = 0; c < n.length; c++)
4415
4398
  n[c].id != d.id && this._check_sections_collision(n[c], d) && f++;
@@ -4418,7 +4401,7 @@ const lt = { active_links: function(e) {
4418
4401
  n.length >= _ && (l = !1);
4419
4402
  if (!l) {
4420
4403
  var g = !e.callEvent("onEventCollision", [d, n]);
4421
- return g || (d[v] = h || d[v]), g;
4404
+ return g || (d[m] = h || d[m]), g;
4422
4405
  }
4423
4406
  return l;
4424
4407
  };
@@ -4428,32 +4411,32 @@ const lt = { active_links: function(e) {
4428
4411
  e._pre_render_events = function(s, c) {
4429
4412
  if (!e.config.container_autoresize || !a)
4430
4413
  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];
4414
+ 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
4415
  if (s = this._table_view ? this._pre_render_events_table(s, c) : this._pre_render_events_line(s, c), this._table_view)
4433
4416
  if (c)
4434
- this._colsS.heights = m;
4417
+ this._colsS.heights = v;
4435
4418
  else {
4436
4419
  var f = l.firstChild;
4437
4420
  const E = f.querySelectorAll(".dhx_cal_month_row");
4438
4421
  if (E) {
4439
4422
  for (var g = 0; g < E.length; g++) {
4440
- if (v[g]++, v[g] * u > this._colsS.height - this.xy.month_head_height) {
4423
+ if (m[g]++, m[g] * u > this._colsS.height - this.xy.month_head_height) {
4441
4424
  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";
4425
+ 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
4426
  for (var w = 0; w < p.length; w++)
4444
4427
  p[w].childNodes[1].style.height = y + "px";
4445
- v[g] = (v[g - 1] || 0) + p[0].offsetHeight;
4428
+ m[g] = (m[g - 1] || 0) + p[0].offsetHeight;
4446
4429
  }
4447
- v[g] = (v[g - 1] || 0) + E[g].querySelectorAll(".dhx_cal_month_cell")[0].offsetHeight;
4430
+ m[g] = (m[g - 1] || 0) + E[g].querySelectorAll(".dhx_cal_month_cell")[0].offsetHeight;
4448
4431
  }
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;
4432
+ m.unshift(0), f.parentNode.offsetHeight < f.parentNode.scrollHeight && f._h_fix;
4433
+ } else if (s.length || this._els.dhx_multi_day[0].style.visibility != "visible" || (m[0] = -1), s.length || m[0] == -1) {
4434
+ var b = (m[0] + 1) * u + 1;
4452
4435
  d != b + 1 && (this._obj.style.height = i - d + b - 1 + "px"), b += "px";
4453
4436
  const D = this._els.dhx_cal_navline[0].offsetHeight, x = this._els.dhx_cal_header[0].offsetHeight;
4454
4437
  l.style.height = this._obj.offsetHeight - D - x - (this.xy.margin_top || 0) + "px";
4455
4438
  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;
4439
+ 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
4440
  }
4458
4441
  }
4459
4442
  return s;
@@ -4461,68 +4444,68 @@ const lt = { active_links: function(e) {
4461
4444
  var n = ["dhx_cal_navline", "dhx_cal_header", "dhx_multi_day", "dhx_cal_data"], _ = function(s) {
4462
4445
  i = 0;
4463
4446
  for (var c = 0; c < n.length; c++) {
4464
- var u = n[c], m = e._els[u] ? e._els[u][0] : null, v = 0;
4447
+ var u = n[c], v = e._els[u] ? e._els[u][0] : null, m = 0;
4465
4448
  switch (u) {
4466
4449
  case "dhx_cal_navline":
4467
4450
  case "dhx_cal_header":
4468
- v = m.offsetHeight;
4451
+ m = v.offsetHeight;
4469
4452
  break;
4470
4453
  case "dhx_multi_day":
4471
- v = m ? m.offsetHeight - 1 : 0, d = v;
4454
+ m = v ? v.offsetHeight - 1 : 0, d = m;
4472
4455
  break;
4473
4456
  case "dhx_cal_data":
4474
4457
  var l = e.getState().mode;
4475
- if (m.childNodes[1] && l != "month") {
4458
+ if (v.childNodes[1] && l != "month") {
4476
4459
  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;
4460
+ for (let A = 0; A < v.childNodes.length; A++)
4461
+ v.childNodes[A].offsetHeight > M && (M = v.childNodes[A].offsetHeight);
4462
+ m = M;
4480
4463
  } else
4481
- v = Math.max(m.offsetHeight - 1, m.scrollHeight);
4464
+ m = Math.max(v.offsetHeight - 1, v.scrollHeight);
4482
4465
  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");
4466
+ 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
4467
  else if (l == "year")
4485
- v = 190 * e.config.year_y;
4468
+ m = 190 * e.config.year_y;
4486
4469
  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;
4470
+ if (m = 0, v.childNodes && v.childNodes.length)
4471
+ for (var f = 0; f < v.childNodes.length; f++)
4472
+ m += v.childNodes[f].offsetHeight;
4473
+ m + 2 < e.config.min_grid_size ? m = e.config.min_grid_size : m += 2;
4491
4474
  } 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++) {
4475
+ for (var g, p, y = e.xy.week_agenda_scale_height + e.config.min_grid_size, w = 0; w < v.childNodes.length; w++)
4476
+ for (p = v.childNodes[w], f = 0; f < p.childNodes.length; f++) {
4494
4477
  for (var b = 0, k = p.childNodes[f].childNodes[1], E = 0; E < k.childNodes.length; E++)
4495
4478
  b += k.childNodes[E].offsetHeight;
4496
4479
  g = b + e.xy.week_agenda_scale_height, (g = w != 1 || f != 2 && f != 3 ? g : 2 * g) > y && (y = g);
4497
4480
  }
4498
- v = 3 * y;
4481
+ m = 3 * y;
4499
4482
  } else if (l == "map") {
4500
- v = 0;
4501
- var D = m.querySelectorAll(".dhx_map_line");
4483
+ m = 0;
4484
+ var D = v.querySelectorAll(".dhx_map_line");
4502
4485
  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;
4486
+ m += D[f].offsetHeight;
4487
+ m + 2 < e.config.min_map_size ? m = e.config.min_map_size : m += 2;
4505
4488
  } 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);
4489
+ if (m = 0, v.childNodes[1].childNodes[0].childNodes && v.childNodes[1].childNodes[0].childNodes.length) {
4490
+ for (D = v.childNodes[1].childNodes[0].childNodes[0].childNodes, f = 0; f < D.length; f++)
4491
+ m += D[f].offsetHeight;
4492
+ (m += 2) < e.config.min_grid_size && (m = e.config.min_grid_size);
4510
4493
  } else
4511
- v = e.config.min_grid_size;
4494
+ m = e.config.min_grid_size;
4512
4495
  if (e.matrix && e.matrix[l]) {
4513
4496
  if (s)
4514
- v += 0, m.style.height = v + "px";
4497
+ m += 0, v.style.height = m + "px";
4515
4498
  else {
4516
- v = 0;
4499
+ m = 0;
4517
4500
  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());
4501
+ m += x.getSectionHeight(S[N].key);
4502
+ e.$container.clientWidth != e.$container.scrollWidth && (m += r());
4520
4503
  }
4521
- v -= 1;
4504
+ m -= 1;
4522
4505
  }
4523
- (l == "day" || l == "week" || e._props && e._props[l]) && (v += 2);
4506
+ (l == "day" || l == "week" || e._props && e._props[l]) && (m += 2);
4524
4507
  }
4525
- i += v += 1;
4508
+ i += m += 1;
4526
4509
  }
4527
4510
  e._obj.style.height = i + "px", s || e.updateView();
4528
4511
  };
@@ -4575,13 +4558,13 @@ const lt = { active_links: function(e) {
4575
4558
  if (a) {
4576
4559
  a = !1;
4577
4560
  var s = function(u) {
4578
- var m = u + "=";
4561
+ var v = u + "=";
4579
4562
  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);
4563
+ var m = document.cookie.indexOf(v);
4564
+ if (m != -1) {
4565
+ m += v.length;
4566
+ var l = document.cookie.indexOf(";", m);
4567
+ return l == -1 && (l = document.cookie.length), document.cookie.substring(m, l);
4585
4568
  }
4586
4569
  }
4587
4570
  return "";
@@ -4622,14 +4605,14 @@ const lt = { active_links: function(e) {
4622
4605
  return a += "<div class='" + h.type + "' ></div>";
4623
4606
  }, set_value: function(h, a, i, d) {
4624
4607
  (function() {
4625
- m();
4608
+ v();
4626
4609
  var u = e.attachEvent("onAfterLightbox", function() {
4627
- m(), e.detachEvent(u);
4610
+ v(), e.detachEvent(u);
4628
4611
  });
4629
- function m() {
4612
+ function v() {
4630
4613
  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;
4614
+ var m = h._combo;
4615
+ m.unload ? m.unload() : m.destructor && m.destructor(), m.DOMParent = m.DOMelem = null;
4633
4616
  }
4634
4617
  }
4635
4618
  })(), 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 +4620,13 @@ const lt = { active_links: function(e) {
4637
4620
  if (n.enableFilteringMode(d.filtering, d.script_path || null, !!d.cache), d.script_path) {
4638
4621
  var _ = i[d.map_to];
4639
4622
  _ ? 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;
4623
+ var v, m = u.xmlDoc.responseText;
4641
4624
  try {
4642
- m = JSON.parse(v).options[0].text;
4625
+ v = JSON.parse(m).options[0].text;
4643
4626
  } catch {
4644
- m = e.ajax.xpath("//option", u.xmlDoc)[0].childNodes[0].nodeValue;
4627
+ v = e.ajax.xpath("//option", u.xmlDoc)[0].childNodes[0].nodeValue;
4645
4628
  }
4646
- d.cached_options[_] = m, n.addOption(_, m), n.disable(1), n.selectOption(0), n.disable(0);
4629
+ d.cached_options[_] = v, n.addOption(_, v), n.disable(1), n.selectOption(0), n.disable(0);
4647
4630
  }) : n.setComboValue("");
4648
4631
  } else {
4649
4632
  for (var o = [], t = 0; t < d.options.length; t++) {
@@ -4806,23 +4789,23 @@ const lt = { active_links: function(e) {
4806
4789
  return this._hidden_export_form;
4807
4790
  }, i._get_export_size = function(n, _, o, t, r, s, c) {
4808
4791
  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;
4792
+ 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 };
4793
+ 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
4794
  }, i._export_html = function(n) {
4812
4795
  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
4796
  try {
4814
- (function(u, m) {
4797
+ (function(u, v) {
4815
4798
  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);
4799
+ var m = d();
4800
+ (v.timeline_scrollable || v.timeline_smart_rendering) && (m.scrollable = !1, m.smart_rendering = !1);
4818
4801
  })(s, r), i.setCurrentView(), c = i._obj.innerHTML;
4819
4802
  } catch (u) {
4820
4803
  console.error(u);
4821
4804
  } finally {
4822
4805
  (function(u) {
4823
4806
  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);
4807
+ var v = d();
4808
+ (u.timeline_scrollable || u.timeline_smart_rendering) && (v.scrollable = u.timeline_scrollable, v.smart_rendering = u.timeline_smart_rendering);
4826
4809
  })(r), i.setCurrentView();
4827
4810
  }
4828
4811
  return c;
@@ -4989,7 +4972,15 @@ const lt = { active_links: function(e) {
4989
4972
  i[s].setAttribute("data-start-date", t), i[s].setAttribute("data-end-date", r), _ && i[s].setAttribute("data-section", _);
4990
4973
  }, addWaiAriaLabel: function(i, d, n, _) {
4991
4974
  var o = "", t = a.getState().mode, r = !1;
4992
- o += a.templates.day_date(d), a.date.day_start(new Date(d)).valueOf() != d.valueOf() && (o += " " + a.templates.hour_scale(d), r = !0), a.date.day_start(new Date(d)).valueOf() != a.date.day_start(new Date(n)).valueOf() && (o += " - " + a.templates.day_date(n), (r || a.date.day_start(new Date(n)).valueOf() != n.valueOf()) && (o += " " + a.templates.hour_scale(n))), _ && (a.matrix && a.matrix[t] ? o += ", " + a.templates[t + "_scale_label"](_.key, _.label, _) : a._props && a._props[t] && (o += ", " + a.templates[t + "_scale_text"](_.key, _.label, _)));
4975
+ if (o += a.templates.day_date(d), a.date.day_start(new Date(d)).valueOf() != d.valueOf() && (o += " " + a.templates.hour_scale(d), r = !0), a.date.day_start(new Date(d)).valueOf() != a.date.day_start(new Date(n)).valueOf() && (o += " - " + a.templates.day_date(n), (r || a.date.day_start(new Date(n)).valueOf() != n.valueOf()) && (o += " " + a.templates.hour_scale(n))), _) {
4976
+ if (a.matrix && a.matrix[t]) {
4977
+ const c = a.matrix[t], u = c.y_unit[c.order[_]];
4978
+ o += ", " + a.templates[t + "_scale_label"](u.key, u.label, u);
4979
+ } else if (a._props && a._props[t]) {
4980
+ const c = a._props[t], u = c.options[c.order[_]];
4981
+ o += ", " + a.templates[t + "_scale_text"](u.key, u.label, u);
4982
+ }
4983
+ }
4993
4984
  for (var s = 0; s < i.length; s++)
4994
4985
  a._waiAria.setAttributes(i[s], { "aria-label": o, "aria-live": "polite" });
4995
4986
  }, renderWeekAgendaMarker: function(i, d) {
@@ -5020,11 +5011,23 @@ const lt = { active_links: function(e) {
5020
5011
  var u = o[n];
5021
5012
  if (!(r < d && s > i))
5022
5013
  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
- let y = "left";
5027
- return a.config.rtl && (y = "right"), m.style.cssText = `height:${f}px; ${y}:${v}px; width:${p}px; top:${g}px;`, u && (u.appendChild(m), t.push(m)), t;
5014
+ var v = this.createElement();
5015
+ let m, l;
5016
+ function f(b, k) {
5017
+ k.setDate(1), k.setFullYear(b.getFullYear()), k.setMonth(b.getMonth()), k.setDate(b.getDate());
5018
+ }
5019
+ if (a.getView().days) {
5020
+ const b = new Date(i);
5021
+ f(a._min_date, b);
5022
+ const k = new Date(d);
5023
+ f(a._min_date, k), m = a._timeline_getX({ start_date: b }, !1, _), l = a._timeline_getX({ start_date: k }, !1, _);
5024
+ } else
5025
+ m = a._timeline_getX({ start_date: i }, !1, _), l = a._timeline_getX({ start_date: d }, !1, _);
5026
+ var g = _._section_height[n] - 1 || _.dy - 1, p = 0;
5027
+ a._isRender("cell") && (p = u.offsetTop, m += _.dx, l += _.dx, u = a.$container.querySelector(".dhx_cal_data"));
5028
+ var y = Math.max(1, l - m - 1);
5029
+ let w = "left";
5030
+ return a.config.rtl && (w = "right"), v.style.cssText = `height:${g}px; ${w}:${m}px; width:${y}px; top:${p}px;`, u && (u.appendChild(v), t.push(v)), t;
5028
5031
  }, renderMonthCell: function(i) {
5029
5032
  for (var d = a.$container.querySelectorAll(".dhx_month_head"), n = [], _ = 0; _ < d.length; _++)
5030
5033
  n.push(d[_].parentNode);
@@ -5033,10 +5036,10 @@ const lt = { active_links: function(e) {
5033
5036
  s = a.date.add(s, 1, "day");
5034
5037
  if (o == -1)
5035
5038
  return [];
5036
- var u = a._colsS[r], m = a._colsS.heights[t], v = this.createElement();
5037
- 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";
5039
+ var u = a._colsS[r], v = a._colsS.heights[t], m = this.createElement();
5040
+ 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";
5038
5041
  var l = a.$container.querySelector(".dhx_cal_data"), f = l.querySelector("table");
5039
- return f.nextSibling ? l.insertBefore(v, f.nextSibling) : l.appendChild(v), v;
5042
+ return f.nextSibling ? l.insertBefore(m, f.nextSibling) : l.appendChild(m), m;
5040
5043
  }, renderMonthMarker: function(i, d) {
5041
5044
  for (var n = [], _ = i; _.valueOf() < d.valueOf(); )
5042
5045
  n.push(this.renderMonthCell(_)), _ = a.date.add(_, 1, "day");
@@ -5053,11 +5056,11 @@ const lt = { active_links: function(e) {
5053
5056
  }
5054
5057
  if (!(t = a.locate_holder(_)) || t.querySelector(".dhx_scale_hour"))
5055
5058
  return document.createElement("div");
5056
- 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);
5057
- 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)
5059
+ 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);
5060
+ 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)
5058
5061
  return [];
5059
- var v = this.createElement(), l = a.config.hour_size_px * r.last_hour + 1, f = 36e5;
5060
- 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];
5062
+ var m = this.createElement(), l = a.config.hour_size_px * r.last_hour + 1, f = 36e5;
5063
+ 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];
5061
5064
  } };
5062
5065
  }(e), function(a) {
5063
5066
  a.$keyboardNavigation.SchedulerNode = function() {
@@ -5712,74 +5715,74 @@ const lt = { active_links: function(e) {
5712
5715
  clearTimeout(this._timeout), this._timeout = setTimeout(i, d || 1);
5713
5716
  } };
5714
5717
  }(e), ot(e), function() {
5715
- st(e), function(_) {
5716
- _.$keyboardNavigation._minicalendars = [], _.$keyboardNavigation.isMinical = function(o) {
5717
- for (var t = _.$keyboardNavigation._minicalendars, r = 0; r < t.length; r++)
5718
- if (this.isChildOf(o, t[r]))
5718
+ st(e), function(o) {
5719
+ o.$keyboardNavigation._minicalendars = [], o.$keyboardNavigation.isMinical = function(t) {
5720
+ for (var r = o.$keyboardNavigation._minicalendars, s = 0; s < r.length; s++)
5721
+ if (this.isChildOf(t, r[s]))
5719
5722
  return !0;
5720
5723
  return !1;
5721
- }, _.$keyboardNavigation.isChildOf = function(o, t) {
5722
- for (; o && o !== t; )
5723
- o = o.parentNode;
5724
- return o === t;
5725
- }, _.$keyboardNavigation.patchMinicalendar = function() {
5726
- var o = _.$keyboardNavigation.dispatcher;
5727
- function t(u) {
5728
- var m = u.target;
5729
- o.enable(), o.setActiveNode(new _.$keyboardNavigation.MinicalButton(m, 0));
5724
+ }, o.$keyboardNavigation.isChildOf = function(t, r) {
5725
+ for (; t && t !== r; )
5726
+ t = t.parentNode;
5727
+ return t === r;
5728
+ }, o.$keyboardNavigation.patchMinicalendar = function() {
5729
+ var t = o.$keyboardNavigation.dispatcher;
5730
+ function r(v) {
5731
+ var m = v.target;
5732
+ t.enable(), t.setActiveNode(new o.$keyboardNavigation.MinicalButton(m, 0));
5730
5733
  }
5731
- function r(u) {
5732
- 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;
5733
- if (f) {
5734
- for (var y, w, b = m; b && b.tagName.toLowerCase() != "td"; )
5735
- b = b.parentNode;
5736
- if (b && (y = (w = b).parentNode), y && w) {
5737
- for (var k = y.parentNode.querySelectorAll("tr"), E = 0; E < k.length; E++)
5738
- if (k[E] == y) {
5739
- g = E;
5734
+ function s(v) {
5735
+ 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;
5736
+ if (g) {
5737
+ for (var w, b, k = m; k && k.tagName.toLowerCase() != "td"; )
5738
+ k = k.parentNode;
5739
+ if (k && (w = (b = k).parentNode), w && b) {
5740
+ for (var E = w.parentNode.querySelectorAll("tr"), D = 0; D < E.length; D++)
5741
+ if (E[D] == w) {
5742
+ p = D;
5740
5743
  break;
5741
5744
  }
5742
- var D = y.querySelectorAll("td");
5743
- for (E = 0; E < D.length; E++)
5744
- if (D[E] == w) {
5745
- p = E;
5745
+ var x = w.querySelectorAll("td");
5746
+ for (D = 0; D < x.length; D++)
5747
+ if (x[D] == b) {
5748
+ y = D;
5746
5749
  break;
5747
5750
  }
5748
5751
  }
5749
5752
  }
5750
- var x = u.currentTarget;
5751
- o.delay(function() {
5752
- var S;
5753
- (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))));
5753
+ var S = v.currentTarget;
5754
+ t.delay(function() {
5755
+ var N;
5756
+ (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))));
5754
5757
  });
5755
5758
  }
5756
- if (_.renderCalendar) {
5757
- var s = _.renderCalendar;
5758
- _.renderCalendar = function() {
5759
- var u = s.apply(this, arguments), m = _.$keyboardNavigation._minicalendars;
5760
- _.eventRemove(u, "click", r), _.event(u, "click", r), _.eventRemove(u, "focus", t), _.event(u, "focus", t);
5761
- for (var v = !1, l = 0; l < m.length; l++)
5762
- if (m[l] == u) {
5763
- v = !0;
5759
+ if (o.renderCalendar) {
5760
+ var c = o.renderCalendar;
5761
+ o.renderCalendar = function() {
5762
+ var v = c.apply(this, arguments), m = o.$keyboardNavigation._minicalendars;
5763
+ o.eventRemove(v, "click", s), o.event(v, "click", s), o.eventRemove(v, "focus", r), o.event(v, "focus", r);
5764
+ for (var l = !1, f = 0; f < m.length; f++)
5765
+ if (m[f] == v) {
5766
+ l = !0;
5764
5767
  break;
5765
5768
  }
5766
- if (v || m.push(u), o.isEnabled()) {
5767
- var f = o.getActiveNode();
5768
- f && f.container == u ? o.focusNode(f) : u.setAttribute("tabindex", "0");
5769
+ if (l || m.push(v), t.isEnabled()) {
5770
+ var g = t.getActiveNode();
5771
+ g && g.container == v ? t.focusNode(g) : v.setAttribute("tabindex", "0");
5769
5772
  } else
5770
- u.setAttribute("tabindex", "0");
5771
- return u;
5773
+ v.setAttribute("tabindex", "0");
5774
+ return v;
5772
5775
  };
5773
5776
  }
5774
- if (_.destroyCalendar) {
5775
- var c = _.destroyCalendar;
5776
- _.destroyCalendar = function(u, m) {
5777
- u = u || (_._def_count ? _._def_count.firstChild : null);
5778
- var v = c.apply(this, arguments);
5779
- if (!u || !u.parentNode)
5780
- for (var l = _.$keyboardNavigation._minicalendars, f = 0; f < l.length; f++)
5781
- l[f] == u && (_.eventRemove(l[f], "focus", t), l.splice(f, 1), f--);
5782
- return v;
5777
+ if (o.destroyCalendar) {
5778
+ var u = o.destroyCalendar;
5779
+ o.destroyCalendar = function(v, m) {
5780
+ v = v || (o._def_count ? o._def_count.firstChild : null);
5781
+ var l = u.apply(this, arguments);
5782
+ if (!v || !v.parentNode)
5783
+ for (var f = o.$keyboardNavigation._minicalendars, g = 0; g < f.length; g++)
5784
+ f[g] == v && (o.eventRemove(f[g], "focus", r), f.splice(g, 1), g--);
5785
+ return l;
5783
5786
  };
5784
5787
  }
5785
5788
  };
@@ -5793,21 +5796,24 @@ const lt = { active_links: function(e) {
5793
5796
  });
5794
5797
  function d() {
5795
5798
  if (e.config.key_nav) {
5796
- var _ = document.activeElement;
5797
- return !(!_ || e.utils.dom.locateCss(_, "dhx_cal_quick_info", !1)) && (e.$keyboardNavigation.isChildOf(_, e.$container) || e.$keyboardNavigation.isMinical(_));
5799
+ var o = document.activeElement;
5800
+ return !(!o || e.utils.dom.locateCss(o, "dhx_cal_quick_info", !1)) && (e.$keyboardNavigation.isChildOf(o, e.$container) || e.$keyboardNavigation.isMinical(o));
5798
5801
  }
5799
5802
  }
5800
- function n(_) {
5801
- _ && !a.isEnabled() ? a.enable() : !_ && a.isEnabled() && a.disable();
5803
+ function n(o) {
5804
+ o && !a.isEnabled() ? a.enable() : !o && a.isEnabled() && a.disable();
5802
5805
  }
5803
- setInterval(function() {
5806
+ const _ = setInterval(function() {
5804
5807
  if (e.$container && e.$keyboardNavigation.isChildOf(e.$container, document.body)) {
5805
- var _ = d();
5806
- _ ? n(_) : !_ && a.isEnabled() && setTimeout(function() {
5808
+ var o = d();
5809
+ o ? n(o) : !o && a.isEnabled() && setTimeout(function() {
5807
5810
  e.$destroyed || (e.config.key_nav ? n(d()) : e.$container.removeAttribute("tabindex"));
5808
5811
  }, 100);
5809
5812
  }
5810
5813
  }, 500);
5814
+ e.attachEvent("onDestroy", function() {
5815
+ clearInterval(_);
5816
+ });
5811
5817
  }();
5812
5818
  }, layer: function(e) {
5813
5819
  e.attachEvent("onTemplatesReady", function() {
@@ -5929,9 +5935,9 @@ const lt = { active_links: function(e) {
5929
5935
  }, e._render_v_bar = function(a, i, d, n, _, o, t, r, s) {
5930
5936
  var c = a.id;
5931
5937
  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);
5932
- 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);
5933
- v && (m = m + " " + v);
5934
- 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 || "") + '">';
5938
+ 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);
5939
+ m && (v = v + " " + m);
5940
+ 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 || "") + '">';
5935
5941
  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;
5936
5942
  }, e.render_event_bar = function(a) {
5937
5943
  var i = this._els.dhx_cal_data[0], d = this._colsS[a._sday], n = this._colsS[a._eday];
@@ -5952,21 +5958,21 @@ const lt = { active_links: function(e) {
5952
5958
  c.style.zIndex = parseInt(c.style.zIndex) + 1;
5953
5959
  var u = c.style.zIndex;
5954
5960
  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;
5955
- var m = document.createElement("div");
5956
- 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) {
5961
+ var v = document.createElement("div");
5962
+ 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) {
5957
5963
  if (p.shiftKey)
5958
5964
  return !0;
5959
5965
  var y = p.keyCode;
5960
5966
  y == e.keys.edit_save && e.editStop(!0), y == e.keys.edit_cancel && e.editStop(!1);
5961
5967
  }), this._editor.addEventListener("selectstart", function(p) {
5962
5968
  return p.cancelBubble = !0, !0;
5963
- }), m.firstChild.focus(), this._els.dhx_cal_data[0].scrollLeft = 0, m.firstChild.select();
5969
+ }), v.firstChild.focus(), this._els.dhx_cal_data[0].scrollLeft = 0, v.firstChild.select();
5964
5970
  }
5965
5971
  if (this._select_id == a.id) {
5966
5972
  c.style.zIndex = parseInt(c.style.zIndex) + 1;
5967
- for (var v = this.config["icons_" + (this._edit_id == a.id ? "edit" : "select")], l = "", f = 0; f < v.length; f++)
5968
- l += "<div class='dhx_menu_icon " + v[f] + "' title='" + this.locale.labels[v[f]] + "'></div>";
5969
- 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);
5973
+ for (var m = this.config["icons_" + (this._edit_id == a.id ? "edit" : "select")], l = "", f = 0; f < m.length; f++)
5974
+ l += "<div class='dhx_menu_icon " + m[f] + "' title='" + this.locale.labels[m[f]] + "'></div>";
5975
+ 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);
5970
5976
  g.style.left = s - i + 1, g.style.zIndex = c.style.zIndex, this._els.dhx_cal_data[0].appendChild(g), this._rendered.push(g);
5971
5977
  }
5972
5978
  }
@@ -5980,8 +5986,8 @@ const lt = { active_links: function(e) {
5980
5986
  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() {
5981
5987
  var h = null, a = "dhx_time_block", i = "default", d = function(o, t, r) {
5982
5988
  var s = typeof o == "object" ? o : { days: o };
5983
- return s.type = a, s.css = "", t && (r && (s.sections = r), s = function(c, u, m) {
5984
- return u instanceof Date && m instanceof Date ? (c.start_date = u, c.end_date = m) : (c.days = u, c.zones = m), c;
5989
+ return s.type = a, s.css = "", t && (r && (s.sections = r), s = function(c, u, v) {
5990
+ return u instanceof Date && v instanceof Date ? (c.start_date = u, c.end_date = v) : (c.days = u, c.zones = v), c;
5985
5991
  }(s, o, t)), s;
5986
5992
  };
5987
5993
  e.blockTime = function(o, t, r) {
@@ -5991,9 +5997,9 @@ const lt = { active_links: function(e) {
5991
5997
  var s = d(o, t = t || "fullday", r);
5992
5998
  return e.deleteMarkedTimespan(s);
5993
5999
  }, e.attachEvent("onBeforeViewChange", function(o, t, r, s) {
5994
- function c(u, m) {
5995
- var v = e.config.limit_start, l = e.config.limit_end, f = e.date.add(u, 1, m);
5996
- return u.valueOf() > l.valueOf() || f <= v.valueOf();
6000
+ function c(u, v) {
6001
+ var m = e.config.limit_start, l = e.config.limit_end, f = e.date.add(u, 1, v);
6002
+ return u.valueOf() > l.valueOf() || f <= m.valueOf();
5997
6003
  }
5998
6004
  return !e.config.limit_view || !c(s = s || t, r = r || o) || t.valueOf() == s.valueOf() || (setTimeout(function() {
5999
6005
  if (e.$destroyed)
@@ -6003,8 +6009,8 @@ const lt = { active_links: function(e) {
6003
6009
  }, 1), !1);
6004
6010
  }), e.checkInMarkedTimespan = function(o, t, r) {
6005
6011
  t = t || i;
6006
- 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")) {
6007
- var v = +e.date.date_part(new Date(c)), l = _(o, m, c.getDay(), v, t);
6012
+ 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")) {
6013
+ var m = +e.date.date_part(new Date(c)), l = _(o, v, c.getDay(), m, t);
6008
6014
  if (l)
6009
6015
  for (var f = 0; f < l.length; f += 2) {
6010
6016
  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];
@@ -6020,37 +6026,37 @@ const lt = { active_links: function(e) {
6020
6026
  var t = e, r = t.config, s = [];
6021
6027
  if (o.rec_type)
6022
6028
  for (var c = e.getRecDates(o), u = 0; u < c.length; u++) {
6023
- var m = e._copy_event(o);
6024
- e._lame_copy(m, c[u]), s.push(m);
6029
+ var v = e._copy_event(o);
6030
+ e._lame_copy(v, c[u]), s.push(v);
6025
6031
  }
6026
6032
  else
6027
6033
  s = [o];
6028
- for (var v = !0, l = 0; l < s.length; l++) {
6034
+ for (var m = !0, l = 0; l < s.length; l++) {
6029
6035
  var f = !0;
6030
- (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) {
6036
+ (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) {
6031
6037
  var k = !0;
6032
6038
  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;
6033
- })), f || (f = t.checkEvent("onLimitViolation") ? t.callEvent("onLimitViolation", [m.id, m]) : f), v = v && f;
6039
+ })), f || (f = t.checkEvent("onLimitViolation") ? t.callEvent("onLimitViolation", [v.id, v]) : f), m = m && f;
6034
6040
  }
6035
- return v || (t._drag_id = null, t._drag_mode = null), v;
6041
+ return m || (t._drag_id = null, t._drag_mode = null), m;
6036
6042
  };
6037
6043
  function _(o, t, r, s, c) {
6038
- var u = e, m = [], v = { _props: "map_to", matrix: "y_property" };
6039
- for (var l in v) {
6040
- var f = v[l];
6044
+ var u = e, v = [], m = { _props: "map_to", matrix: "y_property" };
6045
+ for (var l in m) {
6046
+ var f = m[l];
6041
6047
  if (u[l])
6042
6048
  for (var g in u[l]) {
6043
6049
  var p = u[l][g][f];
6044
- o[p] && (m = u._add_timespan_zones(m, e._get_blocked_zones(t[g], o[p], r, s, c)));
6050
+ o[p] && (v = u._add_timespan_zones(v, e._get_blocked_zones(t[g], o[p], r, s, c)));
6045
6051
  }
6046
6052
  }
6047
- return m = u._add_timespan_zones(m, e._get_blocked_zones(t, "global", r, s, c));
6053
+ return v = u._add_timespan_zones(v, e._get_blocked_zones(t, "global", r, s, c));
6048
6054
  }
6049
6055
  e._get_blocked_zones = function(o, t, r, s, c) {
6050
6056
  var u = [];
6051
6057
  if (o && o[t])
6052
- for (var m = o[t], v = this._get_relevant_blocked_zones(r, s, m, c), l = 0; l < v.length; l++)
6053
- u = this._add_timespan_zones(u, v[l].zones);
6058
+ for (var v = o[t], m = this._get_relevant_blocked_zones(r, s, v, c), l = 0; l < m.length; l++)
6059
+ u = this._add_timespan_zones(u, m[l].zones);
6054
6060
  return u;
6055
6061
  }, e._get_relevant_blocked_zones = function(o, t, r, s) {
6056
6062
  var c;
@@ -6106,6 +6112,8 @@ const lt = { active_links: function(e) {
6106
6112
  e._mark_now_timer = window.setInterval(function() {
6107
6113
  e._is_initialized() && e._mark_now();
6108
6114
  }, 6e4);
6115
+ }), e.attachEvent("onDestroy", function() {
6116
+ clearInterval(e._mark_now_timer);
6109
6117
  }), e._mark_now = function(o) {
6110
6118
  var t = "dhx_now_time";
6111
6119
  this._els[t] || (this._els[t] = []);
@@ -6118,9 +6126,9 @@ const lt = { active_links: function(e) {
6118
6126
  var r = "dhx_now_time", s = e._get_zone_minutes(t), c = { zones: [s, s + 1], css: r, type: r };
6119
6127
  if (!this._table_view) {
6120
6128
  if (this._props && this._props[this._mode]) {
6121
- var u, m, v = this._props[this._mode], l = v.size || v.options.length;
6122
- 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;
6123
- for (var f = [], g = u; g < m; g++) {
6129
+ var u, v, m = this._props[this._mode], l = m.size || m.options.length;
6130
+ 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;
6131
+ for (var f = [], g = u; g < v; g++) {
6124
6132
  var p = g;
6125
6133
  c.days = p;
6126
6134
  var y = e._render_marked_timespan(c, null, p)[0];
@@ -6152,13 +6160,13 @@ const lt = { active_links: function(e) {
6152
6160
  if (!o || !(o.start_date && o.end_date && o.end_date > o.start_date || o.days !== void 0 && o.zones) && !o.type)
6153
6161
  return t;
6154
6162
  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;
6155
- var m = o.sections;
6156
- if (m) {
6157
- for (var v in m)
6158
- if (m.hasOwnProperty(v)) {
6159
- var l = m[v];
6163
+ var v = o.sections;
6164
+ if (v) {
6165
+ for (var m in v)
6166
+ if (v.hasOwnProperty(m)) {
6167
+ var l = v[m];
6160
6168
  for (l instanceof Array || (l = [l]), c = 0; c < l.length; c++)
6161
- (k = e._lame_copy({}, o)).sections = {}, k.sections[v] = l[c], r.push(k);
6169
+ (k = e._lame_copy({}, o)).sections = {}, k.sections[m] = l[c], r.push(k);
6162
6170
  }
6163
6171
  } else
6164
6172
  r.push(o);
@@ -6178,8 +6186,8 @@ const lt = { active_links: function(e) {
6178
6186
  }, e._get_dates_by_index = function(o, t, r) {
6179
6187
  var s = [];
6180
6188
  t = e.date.date_part(new Date(t || e._min_date)), r = new Date(r || e._max_date);
6181
- 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"))
6182
- s.push(m);
6189
+ 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"))
6190
+ s.push(v);
6183
6191
  return s;
6184
6192
  }, e._get_css_classes_by_config = function(o) {
6185
6193
  var t = [];
@@ -6188,7 +6196,7 @@ const lt = { active_links: function(e) {
6188
6196
  var t = document.createElement("div");
6189
6197
  return o.html && (typeof o.html == "string" ? t.innerHTML = o.html : t.appendChild(o.html)), t;
6190
6198
  }, e._render_marked_timespan = function(o, t, r) {
6191
- var s = [], c = e.config, u = this._min_date, m = this._max_date, v = !1;
6199
+ var s = [], c = e.config, u = this._min_date, v = this._max_date, m = !1;
6192
6200
  if (!c.display_marked_timespans)
6193
6201
  return s;
6194
6202
  if (!r && r !== 0) {
@@ -6196,7 +6204,7 @@ const lt = { active_links: function(e) {
6196
6204
  r = o.days;
6197
6205
  else {
6198
6206
  var l = new Date(o.days);
6199
- if (v = +l, !(+m > +l && +u <= +l))
6207
+ if (m = +l, !(+v > +l && +u <= +l))
6200
6208
  return s;
6201
6209
  r = l.getDay();
6202
6210
  }
@@ -6209,7 +6217,7 @@ const lt = { active_links: function(e) {
6209
6217
  if (t)
6210
6218
  y.push(t), w.push(r);
6211
6219
  else {
6212
- w = v ? [v] : e._get_dates_by_index(r);
6220
+ w = m ? [m] : e._get_dates_by_index(r);
6213
6221
  for (var b = 0; b < w.length; b++)
6214
6222
  y.push(this._scales[w[b]]);
6215
6223
  }
@@ -6260,12 +6268,14 @@ const lt = { active_links: function(e) {
6260
6268
  else {
6261
6269
  s = new Date(e._min_date);
6262
6270
  for (var c = 0, u = o.childNodes.length; c < u; c++) {
6263
- var m = o.childNodes[c];
6264
- 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"));
6271
+ var v = o.childNodes[c];
6272
+ 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"));
6265
6273
  }
6266
6274
  }
6267
6275
  return t;
6268
6276
  }, e.markTimespan = function(o) {
6277
+ if (!this._els)
6278
+ throw new Error("`scheduler.markTimespan` can't be used before scheduler initialization. Place `scheduler.markTimespan` call after `scheduler.init`.");
6269
6279
  var t = !1;
6270
6280
  this._els.dhx_cal_data || (e.get_elements(), t = !0);
6271
6281
  var r = e._marked_timespans_ids, s = e._marked_timespans_types, c = e._marked_timespans;
@@ -6281,18 +6291,18 @@ const lt = { active_links: function(e) {
6281
6291
  }, e._addMarkerTimespanConfig = function(o) {
6282
6292
  var t = "global", r = e._marked_timespans, s = o.id, c = e._marked_timespans_ids;
6283
6293
  c[s] || (c[s] = []);
6284
- var u = o.days, m = o.sections, v = o.type;
6285
- if (o.id = s, m) {
6286
- for (var l in m)
6287
- if (m.hasOwnProperty(l)) {
6294
+ var u = o.days, v = o.sections, m = o.type;
6295
+ if (o.id = s, v) {
6296
+ for (var l in v)
6297
+ if (v.hasOwnProperty(l)) {
6288
6298
  r[l] || (r[l] = {});
6289
- var f = m[l], g = r[l];
6290
- 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));
6291
- var p = g[f][u][v];
6299
+ var f = v[l], g = r[l];
6300
+ 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));
6301
+ var p = g[f][u][m];
6292
6302
  o._array = p, p.push(o), c[s].push(o);
6293
6303
  }
6294
6304
  } else
6295
- 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);
6305
+ 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);
6296
6306
  }, e._marked_timespans_ids = {}, e.addMarkedTimespan = function(o) {
6297
6307
  var t = e._prepare_timespan_options(o);
6298
6308
  if (t.length) {
@@ -6305,27 +6315,27 @@ const lt = { active_links: function(e) {
6305
6315
  if (t = t.slice(), !r.length)
6306
6316
  return t;
6307
6317
  for (var s = 0; s < r.length; s += 2)
6308
- for (var c = r[s], u = r[s + 1], m = s + 2 == r.length, v = 0; v < t.length; v += 2) {
6309
- var l = t[v], f = t[v + 1];
6318
+ for (var c = r[s], u = r[s + 1], v = s + 2 == r.length, m = 0; m < t.length; m += 2) {
6319
+ var l = t[m], f = t[m + 1];
6310
6320
  if (f > u && l <= u || l < c && f >= c)
6311
6321
  r[s] = Math.min(c, l), r[s + 1] = Math.max(u, f), s -= 2;
6312
6322
  else {
6313
- if (!m)
6323
+ if (!v)
6314
6324
  continue;
6315
6325
  var g = c > l ? 0 : 2;
6316
6326
  r.splice(s + g, 0, l, f);
6317
6327
  }
6318
- t.splice(v--, 2);
6328
+ t.splice(m--, 2);
6319
6329
  break;
6320
6330
  }
6321
6331
  return r;
6322
6332
  }, e._subtract_timespan_zones = function(o, t) {
6323
6333
  for (var r = o.slice(), s = 0; s < r.length; s += 2)
6324
- for (var c = r[s], u = r[s + 1], m = 0; m < t.length; m += 2) {
6325
- var v = t[m], l = t[m + 1];
6326
- if (l > c && v < u) {
6334
+ for (var c = r[s], u = r[s + 1], v = 0; v < t.length; v += 2) {
6335
+ var m = t[v], l = t[v + 1];
6336
+ if (l > c && m < u) {
6327
6337
  var f = !1;
6328
- 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;
6338
+ 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;
6329
6339
  break;
6330
6340
  }
6331
6341
  }
@@ -6345,10 +6355,10 @@ const lt = { active_links: function(e) {
6345
6355
  }, e._delete_marked_timespan_by_config = function(o) {
6346
6356
  var t, r = e._marked_timespans, s = o.sections, c = o.days, u = o.type || i;
6347
6357
  if (s) {
6348
- for (var m in s)
6349
- if (s.hasOwnProperty(m) && r[m]) {
6350
- var v = s[m];
6351
- r[m][v] && (t = r[m][v]);
6358
+ for (var v in s)
6359
+ if (s.hasOwnProperty(v) && r[v]) {
6360
+ var m = s[v];
6361
+ r[v][m] && (t = r[v][m]);
6352
6362
  }
6353
6363
  } else
6354
6364
  t = r.global;
@@ -6369,9 +6379,9 @@ const lt = { active_links: function(e) {
6369
6379
  s.zones = c;
6370
6380
  else {
6371
6381
  o.splice(r, 1), r--;
6372
- for (var u = e._marked_timespans_ids[s.id], m = 0; m < u.length; m++)
6373
- if (u[m] == s) {
6374
- u.splice(m, 1);
6382
+ for (var u = e._marked_timespans_ids[s.id], v = 0; v < u.length; v++)
6383
+ if (u[v] == s) {
6384
+ u.splice(v, 1);
6375
6385
  break;
6376
6386
  }
6377
6387
  }
@@ -6388,9 +6398,9 @@ const lt = { active_links: function(e) {
6388
6398
  for (var r in e._marked_timespans_types)
6389
6399
  t.push(r);
6390
6400
  for (var s = e._prepare_timespan_options(o), c = 0; c < s.length; c++)
6391
- for (var u = s[c], m = 0; m < t.length; m++) {
6392
- var v = e._lame_clone(u);
6393
- v.type = t[m], e._delete_marked_timespan_by_config(v);
6401
+ for (var u = s[c], v = 0; v < t.length; v++) {
6402
+ var m = e._lame_clone(u);
6403
+ m.type = t[v], e._delete_marked_timespan_by_config(m);
6394
6404
  }
6395
6405
  }
6396
6406
  }, e._get_types_to_render = function(o, t) {
@@ -6405,7 +6415,7 @@ const lt = { active_links: function(e) {
6405
6415
  return t;
6406
6416
  }, e._on_scale_add_marker = function(o, t) {
6407
6417
  if (!e._table_view || e._mode == "month") {
6408
- var r = t.getDay(), s = t.valueOf(), c = this._mode, u = e._marked_timespans, m = [], v = [];
6418
+ var r = t.getDay(), s = t.valueOf(), c = this._mode, u = e._marked_timespans, v = [], m = [];
6409
6419
  if (this._props && this._props[c]) {
6410
6420
  var l = this._props[c], f = l.options, g = f[e._get_unit_index(l, t)];
6411
6421
  if (l.days > 1) {
@@ -6415,18 +6425,18 @@ const lt = { active_links: function(e) {
6415
6425
  t = e.date.date_part(new Date(this._date));
6416
6426
  if (r = t.getDay(), s = t.valueOf(), u[c] && u[c][g.key]) {
6417
6427
  var w = u[c][g.key], b = e._get_types_to_render(w[r], w[s]);
6418
- m.push.apply(m, e._get_configs_to_render(b));
6428
+ v.push.apply(v, e._get_configs_to_render(b));
6419
6429
  }
6420
6430
  }
6421
6431
  var k = u.global;
6422
6432
  if (e.config.overwrite_marked_timespans) {
6423
6433
  var E = k[s] || k[r];
6424
- m.push.apply(m, e._get_configs_to_render(E));
6434
+ v.push.apply(v, e._get_configs_to_render(E));
6425
6435
  } else
6426
- 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]));
6427
- for (var D = 0; D < m.length; D++)
6428
- v.push.apply(v, e._render_marked_timespan(m[D], o, t));
6429
- return v;
6436
+ 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]));
6437
+ for (var D = 0; D < v.length; D++)
6438
+ m.push.apply(m, e._render_marked_timespan(v[D], o, t));
6439
+ return m;
6430
6440
  }
6431
6441
  }, e.attachEvent("onScaleAdd", function() {
6432
6442
  e._on_scale_add_marker.apply(e, arguments);
@@ -6457,18 +6467,18 @@ const lt = { active_links: function(e) {
6457
6467
  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");
6458
6468
  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);
6459
6469
  i.disableDefaultUI = !1, i.disableDoubleClickZoom = !e.config.readonly, google.maps.event.addListener(i, "dblclick", function(u) {
6460
- const m = e.ext.mapView.geocoder;
6470
+ const v = e.ext.mapView.geocoder;
6461
6471
  if (!e.config.readonly && e.config.dblclick_create) {
6462
- var v = u.latLng;
6463
- m.geocode({ latLng: v }, function(l, f) {
6464
- 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") }));
6472
+ var m = u.latLng;
6473
+ v.geocode({ latLng: m }, function(l, f) {
6474
+ 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") }));
6465
6475
  });
6466
6476
  }
6467
6477
  });
6468
6478
  var d = { content: "" };
6469
6479
  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) {
6470
- var m = new google.maps.LatLng(u.coords.latitude, u.coords.longitude);
6471
- 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;
6480
+ var v = new google.maps.LatLng(u.coords.latitude, u.coords.longitude);
6481
+ 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;
6472
6482
  }, function() {
6473
6483
  e.map._infowindow.setContent(e.locale.labels.marker_geo_fail), e.map._infowindow.setPosition(i.getCenter()), e.map._infowindow.open(i), e._isMapPositionSet = !0;
6474
6484
  })), google.maps.event.addListener(i, "resize", function(u) {
@@ -6482,34 +6492,34 @@ const lt = { active_links: function(e) {
6482
6492
  u.sort(function(E, D) {
6483
6493
  return E.start_date.valueOf() == D.start_date.valueOf() ? E.id > D.id ? 1 : -1 : E.start_date > D.start_date ? 1 : -1;
6484
6494
  });
6485
- for (var m = "<div " + (y = e._waiAria.mapAttrString()) + " class='dhx_map_area'>", v = 0; v < u.length; v++) {
6486
- 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();
6487
- 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">
6495
+ for (var v = "<div " + (y = e._waiAria.mapAttrString()) + " class='dhx_map_area'>", m = 0; m < u.length; m++) {
6496
+ 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();
6497
+ 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">
6488
6498
  <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"/>
6489
- </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>";
6499
+ </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>";
6490
6500
  }
6491
- 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;
6501
+ 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;
6492
6502
  var b = e._els.dhx_cal_data[0].firstChild.childNodes, k = e._getNavDateElement();
6493
- 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++)
6494
- e._rendered[v] = b[v];
6503
+ 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++)
6504
+ e._rendered[m] = b[m];
6495
6505
  }
6496
6506
  function o(u) {
6497
- var m = document.getElementById(u);
6498
- const v = e.$container.querySelector(".dhx_cal_navline").offsetHeight;
6499
- var l = e._y - v;
6507
+ var v = document.getElementById(u);
6508
+ const m = e.$container.querySelector(".dhx_cal_navline").offsetHeight;
6509
+ var l = e._y - m;
6500
6510
  l < 0 && (l = 0);
6501
6511
  var f = e._x - e.xy.map_date_width - e.xy.map_description_width - 1;
6502
- 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";
6512
+ 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";
6503
6513
  }
6504
- e.render_data = function(u, m) {
6514
+ e.render_data = function(u, v) {
6505
6515
  if (this._mode != "map")
6506
6516
  return n.apply(this, arguments);
6507
6517
  _();
6508
- for (var v = e.get_visible_events(), l = 0; l < v.length; l++)
6509
- e.map._markers[v[l].id] || r(v[l], !1, !1);
6518
+ for (var m = e.get_visible_events(), l = 0; l < m.length; l++)
6519
+ e.map._markers[m[l].id] || r(m[l], !1, !1);
6510
6520
  }, e.map_view = function(u) {
6511
6521
  e.map._initialization_count++;
6512
- var m, v = e._els.dhx_gmap[0];
6522
+ var v, m = e._els.dhx_gmap[0];
6513
6523
  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) {
6514
6524
  if (g) {
6515
6525
  var p = e.locale.labels;
@@ -6521,65 +6531,65 @@ const lt = { active_links: function(e) {
6521
6531
  var g = e.map._markers;
6522
6532
  for (var p in g)
6523
6533
  g.hasOwnProperty(p) && (g[p].setMap(null), delete e.map._markers[p], e.map._infowindows_content[p] && delete e.map._infowindows_content[p]);
6524
- })(), _(), v.style.display = "block", o("dhx_gmap"), m = e.map._obj.getCenter();
6534
+ })(), _(), m.style.display = "block", o("dhx_gmap"), v = e.map._obj.getCenter();
6525
6535
  for (var l = e.get_visible_events(), f = 0; f < l.length; f++)
6526
6536
  e.map._markers[l[f].id] || r(l[f]);
6527
6537
  } else
6528
- v.style.display = "none";
6529
- 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);
6538
+ m.style.display = "none";
6539
+ 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);
6530
6540
  };
6531
6541
  var t = function(u) {
6532
6542
  e.map._obj.setCenter(e.map._points[u]), e.callEvent("onClick", [u]);
6533
- }, r = function(u, m, v) {
6543
+ }, r = function(u, v, m) {
6534
6544
  var l = e.config.map_error_position;
6535
6545
  u.lat && u.lng && (l = new google.maps.LatLng(u.lat, u.lng));
6536
6546
  var f = e.templates.marker_text(u.start_date, u.end_date, u);
6537
6547
  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() {
6538
6548
  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();
6539
- }), e.map._points[u.id] = l, m && e.map._obj.setCenter(e.map._points[u.id]), v && e.callEvent("onClick", [u.id]));
6549
+ }), e.map._points[u.id] = l, v && e.map._obj.setCenter(e.map._points[u.id]), m && e.callEvent("onClick", [u.id]));
6540
6550
  };
6541
- e.attachEvent("onClick", function(u, m) {
6551
+ e.attachEvent("onClick", function(u, v) {
6542
6552
  if (this._mode == "map") {
6543
6553
  e._selected_event_id = u;
6544
- for (var v = 0; v < e._rendered.length; v++)
6545
- e._rendered[v].className = "dhx_map_line", e._rendered[v].getAttribute(e.config.event_attribute) == u && (e._rendered[v].className += " highlight");
6554
+ for (var m = 0; m < e._rendered.length; m++)
6555
+ e._rendered[m].className = "dhx_map_line", e._rendered[m].getAttribute(e.config.event_attribute) == u && (e._rendered[m].className += " highlight");
6546
6556
  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"));
6547
6557
  }
6548
6558
  return !0;
6549
6559
  });
6550
6560
  var s = function(u) {
6551
- const m = e.ext.mapView.geocoder;
6552
- u.event_location && m ? m.geocode({ address: u.event_location, language: e.uid().toString() }, function(v, l) {
6561
+ const v = e.ext.mapView.geocoder;
6562
+ u.event_location && v ? v.geocode({ address: u.event_location, language: e.uid().toString() }, function(m, l) {
6553
6563
  var f = {};
6554
- 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);
6564
+ 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);
6555
6565
  }) : r(u, !0, !0);
6556
6566
  }, c = function(u) {
6557
- const m = e.ext.mapView.geocoder;
6558
- u.event_location && m && m.geocode({ address: u.event_location, language: e.uid().toString() }, function(v, l) {
6567
+ const v = e.ext.mapView.geocoder;
6568
+ u.event_location && v && v.geocode({ address: u.event_location, language: e.uid().toString() }, function(m, l) {
6559
6569
  var f = {};
6560
- 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]);
6570
+ 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]);
6561
6571
  });
6562
6572
  };
6563
- e.attachEvent("onEventChanged", function(u, m) {
6564
- 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;
6565
- }), e.attachEvent("onEventIdChange", function(u, m) {
6566
- var v = e.getEvent(m);
6567
- 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;
6568
- }), e.attachEvent("onEventAdded", function(u, m) {
6569
- 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;
6570
- }), e.attachEvent("onBeforeEventDelete", function(u, m) {
6573
+ e.attachEvent("onEventChanged", function(u, v) {
6574
+ 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;
6575
+ }), e.attachEvent("onEventIdChange", function(u, v) {
6576
+ var m = e.getEvent(v);
6577
+ 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;
6578
+ }), e.attachEvent("onEventAdded", function(u, v) {
6579
+ 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;
6580
+ }), e.attachEvent("onBeforeEventDelete", function(u, v) {
6571
6581
  return e.map._markers[u] && e.map._markers[u].setMap(null), e._selected_event_id = null, e.map._infowindow.close(), !0;
6572
6582
  }), e._event_resolve_delay = 1500, e.attachEvent("onEventLoading", function(u) {
6573
- return e.config.map_resolve_event_location && u.event_location && !u.lat && !u.lng && (e._event_resolve_delay += 1500, function(m, v, l, f) {
6583
+ return e.config.map_resolve_event_location && u.event_location && !u.lat && !u.lng && (e._event_resolve_delay += 1500, function(v, m, l, f) {
6574
6584
  setTimeout(function() {
6575
6585
  if (e.$destroyed)
6576
6586
  return !0;
6577
- var g = m.apply(v, l);
6578
- return m = v = l = null, g;
6587
+ var g = v.apply(m, l);
6588
+ return v = m = l = null, g;
6579
6589
  }, f || 1);
6580
6590
  }(c, this, [u], e._event_resolve_delay)), !0;
6581
- }), e.attachEvent("onEventCancel", function(u, m) {
6582
- return m && (e.map._markers[u] && e.map._markers[u].setMap(null), e.map._infowindow.close()), !0;
6591
+ }), e.attachEvent("onEventCancel", function(u, v) {
6592
+ return v && (e.map._markers[u] && e.map._markers[u].setMap(null), e.map._infowindow.close()), !0;
6583
6593
  });
6584
6594
  });
6585
6595
  }, minical: function(e) {
@@ -6603,11 +6613,11 @@ const lt = { active_links: function(e) {
6603
6613
  }).bind(n)));
6604
6614
  }
6605
6615
  if (e.config.minicalendar.mark_events)
6606
- 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++) {
6616
+ 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++) {
6607
6617
  var f = u[l];
6608
- if (!m || m(f.id, f)) {
6618
+ if (!v || v(f.id, f)) {
6609
6619
  var g = f.start_date;
6610
- 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())); )
6620
+ 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())); )
6611
6621
  ;
6612
6622
  }
6613
6623
  }
@@ -6647,22 +6657,22 @@ const lt = { active_links: function(e) {
6647
6657
  this._mode = "calendar";
6648
6658
  var r = this._colsS;
6649
6659
  this._colsS = { height: 0 };
6650
- 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;
6660
+ 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;
6651
6661
  this._ignores_detected = 0, _.month_day = _.calendar_date, i = this.date.month_start(i);
6652
6662
  var l, f = this._week_template(a.offsetWidth - 1 - this.config.minicalendar.padding);
6653
6663
  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>";
6654
6664
  var g = l.querySelector(".dhx_year_month"), p = l.querySelector(".dhx_year_week"), y = l.querySelector(".dhx_year_body");
6655
6665
  if (g.innerHTML = this.templates.calendar_month(i), d.navigation)
6656
- for (var w = function(L, P) {
6657
- var z = e.date.add(L._date, P, "month");
6658
- e.updateCalendar(L, z), e._date.getMonth() == L._date.getMonth() && e._date.getFullYear() == L._date.getFullYear() && e._markCalendarCurrentDate(L);
6659
- }, b = ["dhx_cal_prev_button", "dhx_cal_next_button"], k = ["left:1px;top:4px;position:absolute;", "left:auto; right:1px;top:4px;position:absolute;"], E = [-1, 1], D = function(L) {
6666
+ for (var w = function($, P) {
6667
+ var z = e.date.add($._date, P, "month");
6668
+ e.updateCalendar($, z), e._date.getMonth() == $._date.getMonth() && e._date.getFullYear() == $._date.getFullYear() && e._markCalendarCurrentDate($);
6669
+ }, b = ["dhx_cal_prev_button", "dhx_cal_next_button"], k = ["left:1px;top:4px;position:absolute;", "left:auto; right:1px;top:4px;position:absolute;"], E = [-1, 1], D = function($) {
6660
6670
  return function() {
6661
6671
  if (d.sync)
6662
6672
  for (var P = e._synced_minicalendars, z = 0; z < P.length; z++)
6663
- w(P[z], L);
6673
+ w(P[z], $);
6664
6674
  else
6665
- e.config.rtl && (L = -L), w(l, L);
6675
+ e.config.rtl && ($ = -$), w(l, $);
6666
6676
  };
6667
6677
  }, x = [e.locale.labels.prev, e.locale.labels.next], S = 0; S < 2; S++) {
6668
6678
  var N = document.createElement("div");
@@ -6675,10 +6685,10 @@ const lt = { active_links: function(e) {
6675
6685
  e._waiAria.minicalHeader(g, A), e._waiAria.minicalGrid(l.querySelector(".dhx_year_grid"), A), e._waiAria.minicalRow(p);
6676
6686
  for (var C = p.querySelectorAll(".dhx_scale_bar"), T = 0; T < C.length; T++)
6677
6687
  e._waiAria.minicalHeadCell(C[T]);
6678
- var O = y.querySelectorAll(".dhx_cal_month_cell"), $ = new Date(M);
6688
+ var O = y.querySelectorAll(".dhx_cal_month_cell"), L = new Date(M);
6679
6689
  for (T = 0; T < O.length; T++)
6680
- e._waiAria.minicalDayCell(O[T], new Date($)), $ = e.date.add($, 1, "day");
6681
- 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;
6690
+ e._waiAria.minicalDayCell(O[T], new Date(L)), L = e.date.add(L, 1, "day");
6691
+ 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;
6682
6692
  }, e.destroyCalendar = function(a, i) {
6683
6693
  !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));
6684
6694
  }, e.isCalendarVisible = function() {
@@ -6697,7 +6707,7 @@ const lt = { active_links: function(e) {
6697
6707
  var _, o, t = a.getElementsByTagName("input"), r = a.getElementsByTagName("select"), s = function(g, p, y) {
6698
6708
  e.event(g, "click", function() {
6699
6709
  e.destroyCalendar(null, !0), e.renderCalendar({ position: g, date: new Date(this._date), navigation: !0, handler: function(w) {
6700
- 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();
6710
+ 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();
6701
6711
  } });
6702
6712
  });
6703
6713
  };
@@ -6706,8 +6716,8 @@ const lt = { active_links: function(e) {
6706
6716
  var c = "<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> " + e.locale.labels.full_day + "&nbsp;</label></input>";
6707
6717
  e.config.wide_form || (c = a.previousSibling.innerHTML + c), a.previousSibling.innerHTML = c, a._full_day = !0;
6708
6718
  }
6709
- var u = a.previousSibling.getElementsByTagName("input")[0], m = e.date.time_part(d.start_date) === 0 && e.date.time_part(d.end_date) === 0;
6710
- u.checked = m, r[0].disabled = u.checked, r[1].disabled = u.checked, u.$_eventAttached || (u.$_eventAttached = !0, e.event(u, "click", function() {
6719
+ var u = a.previousSibling.getElementsByTagName("input")[0], v = e.date.time_part(d.start_date) === 0 && e.date.time_part(d.end_date) === 0;
6720
+ u.checked = v, r[0].disabled = u.checked, r[1].disabled = u.checked, u.$_eventAttached || (u.$_eventAttached = !0, e.event(u, "click", function() {
6711
6721
  if (u.checked === !0) {
6712
6722
  var g = {};
6713
6723
  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"));
@@ -6717,10 +6727,10 @@ const lt = { active_links: function(e) {
6717
6727
  }));
6718
6728
  }
6719
6729
  if (e.config.event_duration && e.config.auto_end_date) {
6720
- var v = function() {
6730
+ var m = function() {
6721
6731
  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());
6722
6732
  };
6723
- r[0].$_eventAttached || r[0].addEventListener("change", v);
6733
+ r[0].$_eventAttached || r[0].addEventListener("change", m);
6724
6734
  }
6725
6735
  function l(g, p, y) {
6726
6736
  s(g, p, y), g.value = e.templates.calendar_time(p), g._date = e.date.date_part(new Date(p));
@@ -6787,8 +6797,8 @@ const lt = { active_links: function(e) {
6787
6797
  for (var n = h.getElementsByTagName("input"), _ = 0; _ < n.length; _++)
6788
6798
  n[_].checked = !1;
6789
6799
  function o(u) {
6790
- for (var m = h.getElementsByTagName("input"), v = 0; v < m.length; v++)
6791
- m[v].checked = !!u[m[v].value];
6800
+ for (var v = h.getElementsByTagName("input"), m = 0; m < v.length; m++)
6801
+ v[m].checked = !!u[v[m].value];
6792
6802
  }
6793
6803
  var t = {};
6794
6804
  if (i[d.map_to]) {
@@ -6803,9 +6813,9 @@ const lt = { active_links: function(e) {
6803
6813
  s.className = "dhx_loading", s.style.cssText = "position: absolute; top: 40%; left: 40%;", h.appendChild(s);
6804
6814
  var c = [d.script_url, d.script_url.indexOf("?") == -1 ? "?" : "&", "dhx_crosslink_" + d.map_to + "=" + i.id + "&uid=" + e.uid()].join("");
6805
6815
  e.ajax.get(c, function(u) {
6806
- var m = function(v, l) {
6816
+ var v = function(m, l) {
6807
6817
  try {
6808
- for (var f = JSON.parse(v.xmlDoc.responseText), g = {}, p = 0; p < f.length; p++) {
6818
+ for (var f = JSON.parse(m.xmlDoc.responseText), g = {}, p = 0; p < f.length; p++) {
6809
6819
  var y = f[p];
6810
6820
  g[y.value || y.key || y.id] = !0;
6811
6821
  }
@@ -6814,11 +6824,11 @@ const lt = { active_links: function(e) {
6814
6824
  return null;
6815
6825
  }
6816
6826
  }(u);
6817
- m || (m = function(v, l) {
6818
- for (var f = e.ajax.xpath("//data/item", v.xmlDoc), g = {}, p = 0; p < f.length; p++)
6827
+ v || (v = function(m, l) {
6828
+ for (var f = e.ajax.xpath("//data/item", m.xmlDoc), g = {}, p = 0; p < f.length; p++)
6819
6829
  g[f[p].getAttribute(l.map_to)] = !0;
6820
6830
  return g;
6821
- }(u, d)), o(m), h.removeChild(s);
6831
+ }(u, d)), o(v), h.removeChild(s);
6822
6832
  });
6823
6833
  }
6824
6834
  }, get_value: function(h, a, i) {
@@ -6856,8 +6866,8 @@ const lt = { active_links: function(e) {
6856
6866
  }
6857
6867
  e.backbone = function(_, o) {
6858
6868
  o && (a = o), _.bind("change", function(s, c) {
6859
- var u = n(s), m = e._events[u] = s.toJSON();
6860
- m.id = u, e._init_event(m), clearTimeout(h), h = setTimeout(function() {
6869
+ var u = n(s), v = e._events[u] = s.toJSON();
6870
+ v.id = u, e._init_event(v), clearTimeout(h), h = setTimeout(function() {
6861
6871
  if (e.$destroyed)
6862
6872
  return !0;
6863
6873
  e.updateView();
@@ -6875,8 +6885,8 @@ const lt = { active_links: function(e) {
6875
6885
  _.bind("add", function(s, c) {
6876
6886
  var u = n(s);
6877
6887
  if (!e._events[u]) {
6878
- var m = s.toJSON();
6879
- m.id = u, e._init_event(m), t.push(m), t.length == 1 && setTimeout(r, 1);
6888
+ var v = s.toJSON();
6889
+ v.id = u, e._init_event(v), t.push(v), t.length == 1 && setTimeout(r, 1);
6880
6890
  }
6881
6891
  }), _.bind("request", function(s) {
6882
6892
  var c;
@@ -6890,8 +6900,8 @@ const lt = { active_links: function(e) {
6890
6900
  return e._events[s] = c.toJSON(), e._events[s].id = s, !0;
6891
6901
  }), e.attachEvent("onEventAdded", function(s) {
6892
6902
  if (!_.get(s)) {
6893
- var c = i(e.getEvent(s)), u = new _.model(c), m = n(u);
6894
- m != s && this.changeEventId(s, m), _.add(u), _.trigger("scheduler:add", u);
6903
+ var c = i(e.getEvent(s)), u = new _.model(c), v = n(u);
6904
+ v != s && this.changeEventId(s, v), _.add(u), _.trigger("scheduler:add", u);
6895
6905
  }
6896
6906
  return !0;
6897
6907
  }), e.attachEvent("onEventChanged", function(s) {
@@ -6907,14 +6917,14 @@ const lt = { active_links: function(e) {
6907
6917
  var h, a = new dhtmlDragAndDropObject(), i = a.stopDrag;
6908
6918
  function d(n, _, o, t) {
6909
6919
  if (!e.checkEvent("onBeforeExternalDragIn") || e.callEvent("onBeforeExternalDragIn", [n, _, o, t, h])) {
6910
- var r = e.attachEvent("onEventCreated", function(v) {
6911
- e.callEvent("onExternalDragIn", [v, n, h]) || (this._drag_mode = this._drag_id = null, this.deleteEvent(v));
6920
+ var r = e.attachEvent("onEventCreated", function(m) {
6921
+ e.callEvent("onExternalDragIn", [m, n, h]) || (this._drag_mode = this._drag_id = null, this.deleteEvent(m));
6912
6922
  }), s = e.getActionData(h), c = { start_date: new Date(s.date) };
6913
6923
  if (e.matrix && e.matrix[e._mode]) {
6914
6924
  var u = e.matrix[e._mode];
6915
6925
  c[u.y_property] = s.section;
6916
- var m = e._locate_cell_timeline(h);
6917
- c.start_date = u._trace_x[m.x], c.end_date = e.date.add(c.start_date, u.x_step, u.x_unit);
6926
+ var v = e._locate_cell_timeline(h);
6927
+ c.start_date = u._trace_x[v.x], c.end_date = e.date.add(c.start_date, u.x_step, u.x_unit);
6918
6928
  }
6919
6929
  e._props && e._props[e._mode] && (c[e._props[e._mode].map_to] = s.section), e.addEventNow(c), e.detachEvent(r);
6920
6930
  }
@@ -6977,10 +6987,10 @@ const lt = { active_links: function(e) {
6977
6987
  return D;
6978
6988
  return k;
6979
6989
  }
6980
- function m(b) {
6990
+ function v(b) {
6981
6991
  return b ? "</" + b + ">" : "";
6982
6992
  }
6983
- function v(b, k, E, D) {
6993
+ function m(b, k, E, D) {
6984
6994
  var x = "<" + b + " profile='" + k + "'";
6985
6995
  return E && (x += " header='" + E + "'"), D && (x += " footer='" + D + "'"), x += ">";
6986
6996
  }
@@ -7064,22 +7074,22 @@ const lt = { active_links: function(e) {
7064
7074
  if (e.matrix && e.matrix[e._mode])
7065
7075
  T = _(E[x].style.left), O = _(E[x].offsetWidth) - 1;
7066
7076
  else {
7067
- var $ = e.config.use_select_menu_space ? 0 : 26;
7068
- T = o(E[x].style.left, $, !0), O = o(E[x].style.width, $) - 1;
7077
+ var L = e.config.use_select_menu_space ? 0 : 26;
7078
+ T = o(E[x].style.left, L, !0), O = o(E[x].style.width, L) - 1;
7069
7079
  }
7070
7080
  if (!isNaN(1 * O)) {
7071
- var L = r(E[x].style.top), P = r(E[x].style.height), z = E[x].className.split(" ")[0].replace("dhx_cal_", "");
7081
+ var $ = r(E[x].style.top), P = r(E[x].style.height), z = E[x].className.split(" ")[0].replace("dhx_cal_", "");
7072
7082
  if (z !== "dhx_tooltip_line") {
7073
7083
  var H = e.getEvent(E[x].getAttribute(e.config.event_attribute));
7074
7084
  if (H) {
7075
7085
  M = H._sday;
7076
7086
  var j = H._sweek, F = H._length || 0;
7077
7087
  if (e._mode == "month")
7078
- P = parseInt(E[x].offsetHeight, 10), L = parseInt(E[x].style.top, 10) - e.xy.month_head_height, M = c(E[x], M), j = u(E[x], j);
7088
+ P = parseInt(E[x].offsetHeight, 10), $ = parseInt(E[x].style.top, 10) - e.xy.month_head_height, M = c(E[x], M), j = u(E[x], j);
7079
7089
  else if (e.matrix && e.matrix[e._mode]) {
7080
7090
  M = 0, j = E[x].parentNode.parentNode.parentNode.rowIndex;
7081
7091
  var U = a;
7082
- a = E[x].parentNode.offsetHeight, L = r(E[x].style.top), L -= 0.2 * L, a = U;
7092
+ a = E[x].parentNode.offsetHeight, $ = r(E[x].style.top), $ -= 0.2 * $, a = U;
7083
7093
  } else {
7084
7094
  if (E[x].parentNode == e._els.dhx_cal_data[0])
7085
7095
  continue;
@@ -7087,7 +7097,7 @@ const lt = { active_links: function(e) {
7087
7097
  T += _(E[x].parentNode.style.left, se);
7088
7098
  }
7089
7099
  k += `
7090
- <event week='` + j + "' day='" + M + "' type='" + z + "' x='" + T + "' y='" + L + "' width='" + O + "' height='" + P + "' len='" + F + "'>", z == "event" ? (k += "<header><![CDATA[" + n(E[x].childNodes[1].innerHTML) + "]]></header>", A = b ? s(E[x].childNodes[2], "color") : "", k += "<body backgroundColor='" + (C = b ? s(E[x].childNodes[2], "backgroundColor") : "") + "' color='" + A + "'><![CDATA[" + n(E[x].childNodes[2].innerHTML) + "]]></body>") : (A = b ? s(E[x], "color") : "", k += "<body backgroundColor='" + (C = b ? s(E[x], "backgroundColor") : "") + "' color='" + A + "'><![CDATA[" + n(E[x].innerHTML) + "]]></body>"), k += "</event>";
7100
+ <event week='` + j + "' day='" + M + "' type='" + z + "' x='" + T + "' y='" + $ + "' width='" + O + "' height='" + P + "' len='" + F + "'>", z == "event" ? (k += "<header><![CDATA[" + n(E[x].childNodes[1].innerHTML) + "]]></header>", A = b ? s(E[x].childNodes[2], "color") : "", k += "<body backgroundColor='" + (C = b ? s(E[x].childNodes[2], "backgroundColor") : "") + "' color='" + A + "'><![CDATA[" + n(E[x].childNodes[2].innerHTML) + "]]></body>") : (A = b ? s(E[x], "color") : "", k += "<body backgroundColor='" + (C = b ? s(E[x], "backgroundColor") : "") + "' color='" + A + "'><![CDATA[" + n(E[x].innerHTML) + "]]></body>"), k += "</event>";
7091
7101
  }
7092
7102
  }
7093
7103
  }
@@ -7100,12 +7110,12 @@ const lt = { active_links: function(e) {
7100
7110
  var M, A = "";
7101
7111
  if (b) {
7102
7112
  var C = e._date, T = e._mode;
7103
- 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);
7113
+ 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);
7104
7114
  for (var O = new Date(b); +O < +k; O = this.date.add(O, 1, E))
7105
- this.setCurrentView(O, E), A += ((M = "page") ? "<" + M + ">" : "") + l().replace("–", "-") + p(N) + m("page");
7106
- A += m("pages"), this.setCurrentView(C, T);
7115
+ this.setCurrentView(O, E), A += ((M = "page") ? "<" + M + ">" : "") + l().replace("–", "-") + p(N) + v("page");
7116
+ A += v("pages"), this.setCurrentView(C, T);
7107
7117
  } else
7108
- A = v("data", D, x, S) + l().replace("–", "-") + p(N) + m("data");
7118
+ A = m("data", D, x, S) + l().replace("–", "-") + p(N) + v("data");
7109
7119
  return A;
7110
7120
  }
7111
7121
  function w(b, k, E, D, x, S, N) {
@@ -7257,10 +7267,10 @@ const lt = { active_links: function(e) {
7257
7267
  e.form_blocks.recurring && (h = e.form_blocks.recurring.set_value);
7258
7268
  var a = e.config.buttons_left.slice(), i = e.config.buttons_right.slice();
7259
7269
  function d(o, t, r, s) {
7260
- for (var c = t.getElementsByTagName(o), u = r.getElementsByTagName(o), m = u.length - 1; m >= 0; m--)
7261
- if (r = u[m], s) {
7262
- var v = document.createElement("span");
7263
- v.className = "dhx_text_disabled", v.innerHTML = s(c[m]), r.parentNode.insertBefore(v, r), r.parentNode.removeChild(r);
7270
+ for (var c = t.getElementsByTagName(o), u = r.getElementsByTagName(o), v = u.length - 1; v >= 0; v--)
7271
+ if (r = u[v], s) {
7272
+ var m = document.createElement("span");
7273
+ m.className = "dhx_text_disabled", m.innerHTML = s(c[v]), r.parentNode.insertBefore(m, r), r.parentNode.removeChild(r);
7264
7274
  } else
7265
7275
  r.disabled = !0, t.checked && (r.checked = !0);
7266
7276
  }
@@ -7275,13 +7285,13 @@ const lt = { active_links: function(e) {
7275
7285
  });
7276
7286
  var s = ["dhx_delete_btn", "dhx_save_btn"], c = [e.config.buttons_left, e.config.buttons_right];
7277
7287
  for (r = 0; r < s.length; r++)
7278
- for (var u = s[r], m = 0; m < c.length; m++) {
7279
- for (var v = c[m], l = -1, f = 0; f < v.length; f++)
7280
- if (v[f] == u) {
7288
+ for (var u = s[r], v = 0; v < c.length; v++) {
7289
+ for (var m = c[v], l = -1, f = 0; f < m.length; f++)
7290
+ if (m[f] == u) {
7281
7291
  l = f;
7282
7292
  break;
7283
7293
  }
7284
- l != -1 && v.splice(l, 1);
7294
+ l != -1 && m.splice(l, 1);
7285
7295
  }
7286
7296
  }
7287
7297
  return this.resetLightbox(), !0;
@@ -7382,26 +7392,26 @@ const lt = { active_links: function(e) {
7382
7392
  }, _init_set_value: function(n, _, o) {
7383
7393
  var t = e.form_blocks.recurring, r = t._get_node_value, s = t._set_node_value;
7384
7394
  e.form_blocks.recurring._ds = { start: o.start_date, end: o._end_date };
7385
- 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 = {};
7395
+ 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 = {};
7386
7396
  function l(D) {
7387
7397
  for (var x = 0; x < D.length; x++) {
7388
7398
  var S = D[x];
7389
7399
  if (S.name)
7390
- if (v[S.name])
7391
- if (v[S.name].nodeType) {
7392
- var N = v[S.name];
7393
- v[S.name] = [N, S];
7400
+ if (m[S.name])
7401
+ if (m[S.name].nodeType) {
7402
+ var N = m[S.name];
7403
+ m[S.name] = [N, S];
7394
7404
  } else
7395
- v[S.name].push(S);
7405
+ m[S.name].push(S);
7396
7406
  else
7397
- v[S.name] = S;
7407
+ m[S.name] = S;
7398
7408
  }
7399
7409
  }
7400
- if (l(m.getElementsByTagName("INPUT")), l(m.getElementsByTagName("SELECT")), !e.config.repeat_date_of_end) {
7410
+ if (l(v.getElementsByTagName("INPUT")), l(v.getElementsByTagName("SELECT")), !e.config.repeat_date_of_end) {
7401
7411
  var f = e.date.date_to_str(e.config.repeat_date);
7402
7412
  e.config.repeat_date_of_end = f(e.date.add(e._currentDate(), 30, "day"));
7403
7413
  }
7404
- s(v, "date_of_end", e.config.repeat_date_of_end);
7414
+ s(m, "date_of_end", e.config.repeat_date_of_end);
7405
7415
  var g = function(D) {
7406
7416
  return e._lightbox.querySelector(`#${D}`) || { style: {} };
7407
7417
  };
@@ -7432,7 +7442,7 @@ const lt = { active_links: function(e) {
7432
7442
  S.value = x;
7433
7443
  }
7434
7444
  e.form_blocks.recurring._get_repeat_code = function(D) {
7435
- var x = [r(v, "repeat")];
7445
+ var x = [r(m, "repeat")];
7436
7446
  for (w[x[0]](x, D); x.length < 5; )
7437
7447
  x.push("");
7438
7448
  var S = "", N = function(M) {
@@ -7444,63 +7454,63 @@ const lt = { active_links: function(e) {
7444
7454
  } else if (A.value)
7445
7455
  return A.value;
7446
7456
  return "no";
7447
- }(v);
7457
+ }(m);
7448
7458
  return N == "no" ? (D.end = new Date(9999, 1, 1), S = "no") : N == "date_of_end" ? D.end = function(M) {
7449
7459
  var A = c(M);
7450
7460
  return e.config.include_end_by && (A = e.date.add(A, 1, "day")), A;
7451
- }(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;
7461
+ }(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;
7452
7462
  };
7453
7463
  var w = { month: function(D, x) {
7454
7464
  var S = e.form_blocks.recurring._get_node_value, N = e.form_blocks.recurring._get_node_numeric_value;
7455
- 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;
7465
+ 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;
7456
7466
  }, week: function(D, x) {
7457
7467
  var S = e.form_blocks.recurring._get_node_value, N = e.form_blocks.recurring._get_node_numeric_value;
7458
- D.push(Math.max(1, N(v, "week_count"))), D.push(""), D.push("");
7459
- for (var M = [], A = S(v, "week_day", !0), C = x.start.getDay(), T = !1, O = 0; O < A.length; O++)
7468
+ D.push(Math.max(1, N(m, "week_count"))), D.push(""), D.push("");
7469
+ for (var M = [], A = S(m, "week_day", !0), C = x.start.getDay(), T = !1, O = 0; O < A.length; O++)
7460
7470
  M.push(A[O]), T = T || A[O] == C;
7461
7471
  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(","));
7462
7472
  }, day: function(D) {
7463
7473
  var x = e.form_blocks.recurring._get_node_value, S = e.form_blocks.recurring._get_node_numeric_value;
7464
- 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));
7474
+ 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));
7465
7475
  }, year: function(D, x) {
7466
7476
  var S = e.form_blocks.recurring._get_node_value;
7467
- 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;
7477
+ 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;
7468
7478
  } }, b = { week: function(D, x) {
7469
7479
  var S = e.form_blocks.recurring._set_node_value;
7470
- S(v, "week_count", D[1]);
7480
+ S(m, "week_count", D[1]);
7471
7481
  for (var N = D[4].split(","), M = {}, A = 0; A < N.length; A++)
7472
7482
  M[N[A]] = !0;
7473
- S(v, "week_day", M);
7483
+ S(m, "week_day", M);
7474
7484
  }, month: function(D, x) {
7475
7485
  var S = e.form_blocks.recurring._set_node_value;
7476
- 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]));
7486
+ 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]));
7477
7487
  }, day: function(D, x) {
7478
7488
  var S = e.form_blocks.recurring._set_node_value;
7479
- S(v, "day_type", "d"), S(v, "day_count", D[1]);
7489
+ S(m, "day_type", "d"), S(m, "day_count", D[1]);
7480
7490
  }, year: function(D, x) {
7481
7491
  var S = e.form_blocks.recurring._set_node_value;
7482
- 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()));
7492
+ 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()));
7483
7493
  } };
7484
7494
  e.form_blocks.recurring._set_repeat_code = function(D, x) {
7485
7495
  var S = e.form_blocks.recurring._set_node_value, N = D.split("#");
7486
7496
  switch (D = N[0].split("_"), b[D[0]](D, x), N[1]) {
7487
7497
  case "no":
7488
- y(v, "no");
7498
+ y(m, "no");
7489
7499
  break;
7490
7500
  case "":
7491
- y(v, "date_of_end");
7501
+ y(m, "date_of_end");
7492
7502
  var M = x.end;
7493
- e.config.include_end_by && (M = e.date.add(M, -1, "day")), S(v, "date_of_end", u(M));
7503
+ e.config.include_end_by && (M = e.date.add(M, -1, "day")), S(m, "date_of_end", u(M));
7494
7504
  break;
7495
7505
  default:
7496
- y(v, "occurences_count"), S(v, "occurences_count", N[1]);
7506
+ y(m, "occurences_count"), S(m, "occurences_count", N[1]);
7497
7507
  }
7498
- S(v, "repeat", D[0]);
7499
- var A = e.form_blocks.recurring._get_form_node(v, "repeat", D[0]);
7508
+ S(m, "repeat", D[0]);
7509
+ var A = e.form_blocks.recurring._get_form_node(m, "repeat", D[0]);
7500
7510
  A.nodeName == "SELECT" ? (A.dispatchEvent(new Event("change")), A.dispatchEvent(new MouseEvent("click"))) : A.dispatchEvent(new MouseEvent("click"));
7501
7511
  };
7502
- for (var k = 0; k < m.elements.length; k++) {
7503
- var E = m.elements[k];
7512
+ for (var k = 0; k < v.elements.length; k++) {
7513
+ var E = v.elements[k];
7504
7514
  E.name === "repeat" && (E.nodeName != "SELECT" || E.$_eventAttached ? E.$_eventAttached || (E.$_eventAttached = !0, E.addEventListener("click", p)) : (E.$_eventAttached = !0, E.addEventListener("change", p)));
7505
7515
  }
7506
7516
  e._lightbox._rec_init_done = !0;
@@ -7603,9 +7613,9 @@ const lt = { active_links: function(e) {
7603
7613
  for (var u in c)
7604
7614
  c.hasOwnProperty(u) && (delete this._rec_markers[c[u].id], this.deleteEvent(c[u].id, !0));
7605
7615
  delete this._rec_markers_pull[n];
7606
- for (var m = !1, v = 0; v < this._rendered.length; v++)
7607
- this._rendered[v].getAttribute(this.config.event_attribute) == n && (m = !0);
7608
- m || (this._select_id = null);
7616
+ for (var v = !1, m = 0; m < this._rendered.length; m++)
7617
+ this._rendered[m].getAttribute(this.config.event_attribute) == n && (v = !0);
7618
+ v || (this._select_id = null);
7609
7619
  }
7610
7620
  return !0;
7611
7621
  }), e.attachEvent("onEventAdded", function(n) {
@@ -7631,9 +7641,9 @@ const lt = { active_links: function(e) {
7631
7641
  }, e.showLightbox_rec = e.showLightbox, e.showLightbox = function(n) {
7632
7642
  var _ = this.locale, o = e.config.lightbox_recurring, t = this.getEvent(n), r = t.event_pid, s = this._is_virtual_event(n);
7633
7643
  s && (r = n.split("#")[0]);
7634
- var c = function(m) {
7635
- var v = e.getEvent(m);
7636
- return v._end_date = v.end_date, v.end_date = new Date(v.start_date.valueOf() + 1e3 * v.event_length), e.showLightbox_rec(m);
7644
+ var c = function(v) {
7645
+ var m = e.getEvent(v);
7646
+ return m._end_date = m.end_date, m.end_date = new Date(m.start_date.valueOf() + 1e3 * m.event_length), e.showLightbox_rec(v);
7637
7647
  };
7638
7648
  if ((r || 1 * r == 0) && t.rec_type)
7639
7649
  return c(n);
@@ -7641,8 +7651,8 @@ const lt = { active_links: function(e) {
7641
7651
  return this.showLightbox_rec(n);
7642
7652
  if (o == "ask") {
7643
7653
  var u = this;
7644
- 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) {
7645
- switch (+m) {
7654
+ 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) {
7655
+ switch (+v) {
7646
7656
  case 0:
7647
7657
  return c(r);
7648
7658
  case 1:
@@ -7693,48 +7703,48 @@ const lt = { active_links: function(e) {
7693
7703
  s[c] = 1 * s[c] || 7;
7694
7704
  s.sort();
7695
7705
  }
7696
- this.date[_] = function(u, m) {
7697
- var v = Math.floor((m.valueOf() - u.valueOf()) / (864e5 * r));
7698
- return v > 0 && u.setDate(u.getDate() + v * r), s && e.transpose_day_week(u, s, 1, r), u;
7699
- }, this.date[t] = function(u, m) {
7700
- var v = new Date(u.valueOf());
7706
+ this.date[_] = function(u, v) {
7707
+ var m = Math.floor((v.valueOf() - u.valueOf()) / (864e5 * r));
7708
+ return m > 0 && u.setDate(u.getDate() + m * r), s && e.transpose_day_week(u, s, 1, r), u;
7709
+ }, this.date[t] = function(u, v) {
7710
+ var m = new Date(u.valueOf());
7701
7711
  if (s)
7702
- for (var l = 0; l < m; l++)
7703
- e.transpose_day_week(v, s, 0, r);
7712
+ for (var l = 0; l < v; l++)
7713
+ e.transpose_day_week(m, s, 0, r);
7704
7714
  else
7705
- v.setDate(v.getDate() + m * r);
7706
- return v;
7715
+ m.setDate(m.getDate() + v * r);
7716
+ return m;
7707
7717
  };
7708
7718
  } else
7709
- o[0] != "month" && o[0] != "year" || (this.date[_] = function(u, m, v) {
7710
- var l = Math.ceil((12 * m.getFullYear() + 1 * m.getMonth() + 1 - (12 * u.getFullYear() + 1 * u.getMonth() + 1)) / r - 1);
7711
- return l >= 0 && (u.setDate(1), u.setMonth(u.getMonth() + l * r)), e.date[t](u, 0, v);
7712
- }, this.date[t] = function(u, m, v, l) {
7719
+ o[0] != "month" && o[0] != "year" || (this.date[_] = function(u, v, m) {
7720
+ var l = Math.ceil((12 * v.getFullYear() + 1 * v.getMonth() + 1 - (12 * u.getFullYear() + 1 * u.getMonth() + 1)) / r - 1);
7721
+ return l >= 0 && (u.setDate(1), u.setMonth(u.getMonth() + l * r)), e.date[t](u, 0, m);
7722
+ }, this.date[t] = function(u, v, m, l) {
7713
7723
  if (l ? l++ : l = 1, l > 12)
7714
7724
  return null;
7715
7725
  var f = new Date(u.valueOf());
7716
- f.setDate(1), f.setMonth(f.getMonth() + m * r);
7726
+ f.setDate(1), f.setMonth(f.getMonth() + v * r);
7717
7727
  var g = f.getMonth(), p = f.getFullYear();
7718
- f.setDate(v.start_date.getDate()), o[3] && e.date.day_week(f, o[2], o[3]);
7728
+ f.setDate(m.start_date.getDate()), o[3] && e.date.day_week(f, o[2], o[3]);
7719
7729
  var y = e.config.recurring_overflow_instances;
7720
- 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;
7730
+ 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;
7721
7731
  });
7722
7732
  }
7723
7733
  }, e.repeat_date = function(n, _, o, t, r, s) {
7724
7734
  t = t || this._min_date, r = r || this._max_date;
7725
- var c = s || -1, u = new Date(n.start_date.valueOf()), m = u.getHours(), v = 0;
7735
+ var c = s || -1, u = new Date(n.start_date.valueOf()), v = u.getHours(), m = 0;
7726
7736
  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()); )
7727
7737
  u = this.date["add_" + n.rec_pattern](u, 1, n);
7728
- for (; u && u < r && u < n.end_date && (c < 0 || v < c); ) {
7729
- u.setHours(m);
7738
+ for (; u && u < r && u < n.end_date && (c < 0 || m < c); ) {
7739
+ u.setHours(v);
7730
7740
  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);
7731
7741
  if (f)
7732
- o && (f.rec_type != "none" && v++, _.push(f));
7742
+ o && (f.rec_type != "none" && m++, _.push(f));
7733
7743
  else {
7734
7744
  var g = new Date(u.valueOf() + 1e3 * n.event_length), p = this._copy_event(n);
7735
7745
  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)
7736
7746
  return;
7737
- _.push(p), o || (this._events[p.id] = p, this._rec_temp.push(p)), v++;
7747
+ _.push(p), o || (this._events[p.id] = p, this._rec_temp.push(p)), m++;
7738
7748
  }
7739
7749
  u = this.date["add_" + n.rec_pattern](u, 1, n);
7740
7750
  }
@@ -7886,8 +7896,8 @@ END:VCALENDAR`;
7886
7896
  }
7887
7897
  var u = ["date=" + i(r || o), "mode=" + (t || _)];
7888
7898
  d && u.push("event=" + d);
7889
- var m = "#" + u.join(",");
7890
- return document.location.hash = m, !0;
7899
+ var v = "#" + u.join(",");
7900
+ return document.location.hash = v, !0;
7891
7901
  });
7892
7902
  });
7893
7903
  }, week_agenda: function(e) {
@@ -7959,14 +7969,14 @@ END:VCALENDAR`;
7959
7969
  }
7960
7970
  });
7961
7971
  }
7962
- for (var u = this.getEvents(o, this.date.add(o, 1, "day")), m = "", v = 0; v < u.length; v++) {
7963
- var l = u[v];
7972
+ for (var u = this.getEvents(o, this.date.add(o, 1, "day")), v = "", m = 0; m < u.length; m++) {
7973
+ var l = u[m];
7964
7974
  if (this.filter_event(l.id, l)) {
7965
7975
  var f = l.color ? "--dhx-scheduler-event-background:" + l.color + ";" : "", g = l.textColor ? "--dhx-scheduler-event-color:" + l.textColor + ";" : "";
7966
- 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>";
7976
+ 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>";
7967
7977
  }
7968
7978
  }
7969
- 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";
7979
+ 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";
7970
7980
  }, e._year_view_tooltip_handler = function(o) {
7971
7981
  if (h()) {
7972
7982
  var t = o.target || o.srcElement;
@@ -8004,36 +8014,29 @@ END:VCALENDAR`;
8004
8014
  }, e._reset_year_scale = function() {
8005
8015
  this._cols = [], this._colsS = {};
8006
8016
  var o = [], t = this._els.dhx_cal_data[0], r = this.config;
8007
- t.scrollTop = 0, t.innerHTML = "";
8008
- 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);
8009
- c < 190 && (c = 190, s = Math.floor((parseInt(t.style.width) - e.xy.scroll_width) / r.year_x));
8010
- var u = document.createElement("div"), m = this.date.week_start(e._currentDate());
8011
- this._process_ignores(m, 7, "day", 1);
8012
- for (var v = 0; v < 7; v++)
8013
- 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");
8014
- for (u.lastChild.className += " dhx_scale_bar_last", v = 0; v < u.childNodes.length; v++)
8015
- this._waiAria.yearHeadCell(u.childNodes[v]);
8016
- var l = this.date[this._mode + "_start"](this.date.copy(this._date)), f = l, g = null;
8017
- const p = document.createElement("div");
8018
- for (p.classList.add("dhx_year_wrapper"), v = 0; v < r.year_y; v++)
8019
- for (var y = 0; y < r.year_x; y++) {
8020
- (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>";
8021
- 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();
8022
- this._waiAria.yearHeader(w, D), this._waiAria.yearGrid(b, D), w.innerHTML = this.templates.year_month(l);
8023
- var x = this.date.week_start(l);
8024
- this._reset_month_scale(E, l, x, 6);
8025
- for (var S = E.querySelectorAll("td"), N = 0; N < S.length; N++)
8026
- this._waiAria.yearDayCell(S[N]);
8027
- if (p.appendChild(g), !this._is_new_skin()) {
8028
- k.style.height = k.childNodes[0].offsetHeight + "px";
8029
- var M = Math.round((c - 190) / 2);
8030
- g.style.marginTop = M + "px", this.set_xy(g, s - 10, c - M - 10, s * y + 5, c * v + 5 + e.xy.year_top);
8031
- }
8032
- o[v * r.year_x + y] = (l.getDay() - (this.config.start_on_monday ? 1 : 0) + 7) % 7, l = this.date.add(l, 1, "month");
8033
- }
8034
- t.appendChild(p);
8035
- var A = this._getNavDateElement();
8036
- 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;
8017
+ t.scrollTop = 0, t.innerHTML = "", Math.floor((parseInt(t.style.height) - e.xy.year_top) / r.year_y);
8018
+ var s = document.createElement("div"), c = this.date.week_start(e._currentDate());
8019
+ this._process_ignores(c, 7, "day", 1);
8020
+ for (var u = 0; u < 7; u++)
8021
+ 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");
8022
+ for (s.lastChild.className += " dhx_scale_bar_last", u = 0; u < s.childNodes.length; u++)
8023
+ this._waiAria.yearHeadCell(s.childNodes[u]);
8024
+ var v = this.date[this._mode + "_start"](this.date.copy(this._date)), m = v, l = null;
8025
+ const f = document.createElement("div");
8026
+ for (f.classList.add("dhx_year_wrapper"), u = 0; u < r.year_y; u++)
8027
+ for (var g = 0; g < r.year_x; g++) {
8028
+ (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>";
8029
+ var p = l.querySelector(".dhx_year_month"), y = l.querySelector(".dhx_year_grid"), w = l.querySelector(".dhx_year_body"), b = e.uid();
8030
+ this._waiAria.yearHeader(p, b), this._waiAria.yearGrid(y, b), p.innerHTML = this.templates.year_month(v);
8031
+ var k = this.date.week_start(v);
8032
+ this._reset_month_scale(w, v, k, 6);
8033
+ for (var E = w.querySelectorAll("td"), D = 0; D < E.length; D++)
8034
+ this._waiAria.yearDayCell(E[D]);
8035
+ 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");
8036
+ }
8037
+ t.appendChild(f);
8038
+ var x = this._getNavDateElement();
8039
+ 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;
8037
8040
  }, e._reset_year_scale = function() {
8038
8041
  var o = this._els.dhx_cal_data[0];
8039
8042
  o.scrollTop = 0, o.innerHTML = "";
@@ -8042,12 +8045,12 @@ END:VCALENDAR`;
8042
8045
  const r = document.createElement("div");
8043
8046
  r.classList.add("dhx_year_wrapper");
8044
8047
  let s = t;
8045
- for (let m = 0; m < 12; m++) {
8046
- let v = document.createElement("div");
8047
- 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>
8048
+ for (let v = 0; v < 12; v++) {
8049
+ let m = document.createElement("div");
8050
+ 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>
8048
8051
  <div class='dhx_year_grid'></div>`;
8049
- const l = v.querySelector(".dhx_year_grid"), f = e._createDatePicker(null, { date: s, minWeeks: 6 });
8050
- f._renderDayGrid(l), f.destructor(), r.appendChild(v), s = this.date.add(s, 1, "month");
8052
+ const l = m.querySelector(".dhx_year_grid"), f = e._createDatePicker(null, { date: s, minWeeks: 6 });
8053
+ f._renderDayGrid(l), f.destructor(), r.appendChild(m), s = this.date.add(s, 1, "month");
8051
8054
  }
8052
8055
  o.appendChild(r);
8053
8056
  let c = this.date.add(t, 1, "year");