dhtmlx-scheduler 7.2.13 → 7.2.14
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.
- package/README.md +2 -2
- package/bower.json +1 -1
- package/codebase/dhtmlxscheduler.es.js +444 -444
- package/codebase/dhtmlxscheduler.es.js.map +1 -1
- package/codebase/dhtmlxscheduler.js +49 -49
- package/codebase/dhtmlxscheduler.js.map +1 -1
- package/codebase/sources/dhtmlxscheduler.es.js +7 -6
- package/codebase/sources/dhtmlxscheduler.es.js.map +1 -1
- package/codebase/sources/dhtmlxscheduler.js +7 -6
- package/codebase/sources/dhtmlxscheduler.js.map +1 -1
- package/codebase/sources/less/package.json +1 -1
- package/package.json +1 -1
- package/whatsnew.md +6 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @license
|
|
2
2
|
|
|
3
|
-
dhtmlxScheduler v.7.2.
|
|
3
|
+
dhtmlxScheduler v.7.2.14 Standard
|
|
4
4
|
|
|
5
5
|
To use dhtmlxScheduler in non-GPL projects (and get Pro version of the product), please obtain Commercial/Enterprise or Ultimate license on our site https://dhtmlx.com/docs/products/dhtmlxScheduler/#licensing or contact us at sales@dhtmlx.com
|
|
6
6
|
|
|
@@ -308,10 +308,10 @@ function Nt(e) {
|
|
|
308
308
|
if (this._ignores[this.locate_holder_day(_, !1)])
|
|
309
309
|
return r;
|
|
310
310
|
if (this._props && this._props[this._mode] && a.sections && a.sections[this._mode]) {
|
|
311
|
-
var
|
|
312
|
-
v =
|
|
313
|
-
var
|
|
314
|
-
|
|
311
|
+
var x = this._props[this._mode];
|
|
312
|
+
v = x.order[a.sections[this._mode]];
|
|
313
|
+
var b = x.order[a.sections[this._mode]];
|
|
314
|
+
x.days > 1 ? v = v * (x.size || x.options.length) + b : (v = b, x.size && v > x.position + x.size && (v = 0));
|
|
315
315
|
}
|
|
316
316
|
for (o = o || e.locate_holder(v), w = 0; w < c.length; w += 2) {
|
|
317
317
|
var E, S;
|
|
@@ -2428,26 +2428,26 @@ function Gt(e) {
|
|
|
2428
2428
|
return f[y];
|
|
2429
2429
|
}
|
|
2430
2430
|
function r(f, y, w) {
|
|
2431
|
-
var D = f.tagName ? f : function(N, v,
|
|
2432
|
-
var
|
|
2433
|
-
e._waiAria.messageModalAttr(
|
|
2431
|
+
var D = f.tagName ? f : function(N, v, x) {
|
|
2432
|
+
var b = document.createElement("div"), E = ne.uid();
|
|
2433
|
+
e._waiAria.messageModalAttr(b, E), b.className = " scheduler_modal_box dhtmlx_modal_box scheduler-" + N.type + " dhtmlx-" + N.type, b.setAttribute(i, 1);
|
|
2434
2434
|
var S = "";
|
|
2435
|
-
if (N.width && (
|
|
2435
|
+
if (N.width && (b.style.width = N.width), N.height && (b.style.height = N.height), N.title && (S += '<div class="scheduler_popup_title dhtmlx_popup_title">' + N.title + "</div>"), S += '<div class="scheduler_popup_text dhtmlx_popup_text" id="' + E + '"><span>' + (N.content ? "" : N.text) + '</span></div><div class="scheduler_popup_controls dhtmlx_popup_controls">', v && (S += o(_(N.ok, e.locale.labels.message_ok, "OK"), "ok", !0)), x && (S += o(_(N.cancel, e.locale.labels.message_cancel, "Cancel"), "cancel", !1)), N.buttons)
|
|
2436
2436
|
for (var T = 0; T < N.buttons.length; T++) {
|
|
2437
2437
|
var A = N.buttons[T];
|
|
2438
2438
|
S += typeof A == "object" ? o(A.label, A.css || "scheduler_" + A.label.toLowerCase() + "_button dhtmlx_" + A.label.toLowerCase() + "_button", A.value || T) : o(A, A, T);
|
|
2439
2439
|
}
|
|
2440
|
-
if (S += "</div>",
|
|
2440
|
+
if (S += "</div>", b.innerHTML = S, N.content) {
|
|
2441
2441
|
var C = N.content;
|
|
2442
|
-
typeof C == "string" && (C = document.getElementById(C)), C.style.display == "none" && (C.style.display = ""),
|
|
2442
|
+
typeof C == "string" && (C = document.getElementById(C)), C.style.display == "none" && (C.style.display = ""), b.childNodes[N.title ? 1 : 0].appendChild(C);
|
|
2443
2443
|
}
|
|
2444
|
-
return e.event(
|
|
2444
|
+
return e.event(b, "click", function($) {
|
|
2445
2445
|
var H = $.target || $.srcElement;
|
|
2446
2446
|
if (H.className || (H = H.parentNode), he.closest(H, ".scheduler_popup_button")) {
|
|
2447
2447
|
var O = H.getAttribute("data-result");
|
|
2448
2448
|
n(N, O = O == "true" || O != "false" && O, $);
|
|
2449
2449
|
}
|
|
2450
|
-
}), N.box =
|
|
2450
|
+
}), N.box = b, (v || x) && (t = N), b;
|
|
2451
2451
|
}(f, y, w);
|
|
2452
2452
|
f.hidden || a(!0), document.body.appendChild(D);
|
|
2453
2453
|
var M = Math.abs(Math.floor(((window.innerWidth || document.documentElement.offsetWidth) - D.offsetWidth) / 2)), k = Math.abs(Math.floor(((window.innerHeight || document.documentElement.offsetHeight) - D.offsetHeight) / 2));
|
|
@@ -3084,7 +3084,7 @@ class Qt {
|
|
|
3084
3084
|
}
|
|
3085
3085
|
}
|
|
3086
3086
|
function ea(e) {
|
|
3087
|
-
const i = { version: "7.2.
|
|
3087
|
+
const i = { version: "7.2.14" };
|
|
3088
3088
|
i.$stateProvider = function() {
|
|
3089
3089
|
const r = {};
|
|
3090
3090
|
return { getState: function(d) {
|
|
@@ -3438,23 +3438,23 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3438
3438
|
f = this._min_date.valueOf() + 6e4 * (u.y * this.config.time_step + 24 * u.x * 60), !u.custom && this._table_view && (f += 1e3 * this.date.time_part(v.start_date)), !this._table_view && this._dragEventBody && this._drag_event._move_event_shift === void 0 && (this._drag_event._move_event_shift = f - v.start_date), this._drag_event._move_event_shift && (f -= this._drag_event._move_event_shift), f = this._correct_shift(f), u._ignores && this.config.preserve_length && this._table_view && k ? (f = r._correct_drag_start_date(f), y = r._correct_drag_end_date(f, this._drag_event._event_length)) : y = v.end_date.valueOf() - (v.start_date.valueOf() - f);
|
|
3439
3439
|
else {
|
|
3440
3440
|
if (f = v.start_date.valueOf(), y = v.end_date.valueOf(), this._table_view) {
|
|
3441
|
-
var
|
|
3441
|
+
var x = this._min_date.valueOf() + u.y * this.config.time_step * 6e4 + (u.custom ? 0 : 864e5);
|
|
3442
3442
|
if (this._mode == "month")
|
|
3443
|
-
if (
|
|
3444
|
-
var
|
|
3445
|
-
|
|
3443
|
+
if (x = this._correct_shift(x, !1), this._drag_from_start) {
|
|
3444
|
+
var b = 864e5;
|
|
3445
|
+
x <= r.date.date_part(new Date(y + b - 1)).valueOf() && (f = x - b);
|
|
3446
3446
|
} else
|
|
3447
|
-
y =
|
|
3447
|
+
y = x;
|
|
3448
3448
|
else if (this.config.preserve_length) {
|
|
3449
3449
|
if (u.resize_from_start)
|
|
3450
|
-
f = r._correct_drag_start_date(
|
|
3451
|
-
else if (y = r._correct_drag_end_date(
|
|
3450
|
+
f = r._correct_drag_start_date(x), k.round_position && k.first_hour && k.last_hour && k.x_unit == "day" && (f = new Date(1 * f + k._start_correction));
|
|
3451
|
+
else if (y = r._correct_drag_end_date(x, 0), k.round_position && k.first_hour && k.last_hour && k.x_unit == "day" && (y = r.date.date_part(new Date(y)), y = new Date(1 * y - k._end_correction)), k.round_position && r["ignore_" + r._mode] && k.x_unit == "day") {
|
|
3452
3452
|
const W = this["ignore_" + this._mode];
|
|
3453
3453
|
let pe = r.date.add(new Date(y), -k.x_step, k.x_unit);
|
|
3454
3454
|
W(pe) && (y = pe);
|
|
3455
3455
|
}
|
|
3456
3456
|
} else
|
|
3457
|
-
u.resize_from_start ? f =
|
|
3457
|
+
u.resize_from_start ? f = x : y = x;
|
|
3458
3458
|
} else {
|
|
3459
3459
|
var E = this.date.date_part(new Date(v.end_date.valueOf() - 1)).valueOf(), S = new Date(E), T = this.config.first_hour, A = 60 / N * (this.config.last_hour - T);
|
|
3460
3460
|
this.config.time_step = 1;
|
|
@@ -3482,7 +3482,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3482
3482
|
}
|
|
3483
3483
|
P = new Date(y - 1);
|
|
3484
3484
|
}
|
|
3485
|
-
if (!this._table_view && this._dragEventBody && !r.config.all_timed && (!r._get_section_view() && u.x != this._get_event_sday({ start_date: new Date(f), end_date: new Date(f) }) || new Date(f).getHours() < this.config.first_hour) && (I = y - j, this._drag_mode == "move" && (
|
|
3485
|
+
if (!this._table_view && this._dragEventBody && !r.config.all_timed && (!r._get_section_view() && u.x != this._get_event_sday({ start_date: new Date(f), end_date: new Date(f) }) || new Date(f).getHours() < this.config.first_hour) && (I = y - j, this._drag_mode == "move" && (b = this._min_date.valueOf() + 24 * u.x * 60 * 6e4, (j = new Date(b)).setHours(this.config.first_hour), +j <= +v.start_date ? y = new Date(+j + I) : j = new Date(+y - I))), this._table_view || r.config.all_timed || !(!r.getView() && u.x != this._get_event_sday({ start_date: new Date(y), end_date: new Date(y) }) || new Date(y).getHours() >= this.config.last_hour) || (I = y - j, b = this._min_date.valueOf() + 24 * u.x * 60 * 6e4, (y = r.date.date_part(new Date(b))).setHours(this.config.last_hour), P = new Date(y - 1), this._drag_mode == "move" && (+j <= +v.start_date ? y = new Date(+j + I) : j = new Date(+y - I))), !this._table_view && r.config.all_timed) {
|
|
3486
3486
|
let W = this._min_date.valueOf() + 24 * u.x * 60 * 6e4;
|
|
3487
3487
|
new Date(r._drag_start).getDay() != new Date(W) && (W = new Date(r._drag_start));
|
|
3488
3488
|
let pe = new Date(W).setHours(this.config.last_hour);
|
|
@@ -3613,9 +3613,9 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3613
3613
|
this._els[k] && this._els[k][0] && (M = this._els[k][0].scrollTop), this[this._mode + "_view"] && u && this._mode != u && this[this._mode + "_view"](!1), this._close_not_saved(), this._els[k] && (this._els[k][0].parentNode.removeChild(this._els[k][0]), this._els[k] = null), this._mode = u, this._date = c, this._table_view = this._mode == "month", this._dy_shift = 0, this.update_view(), this._set_aria_buttons_attrs();
|
|
3614
3614
|
var v = this._els.dhx_cal_tab;
|
|
3615
3615
|
if (v)
|
|
3616
|
-
for (var
|
|
3617
|
-
var
|
|
3618
|
-
|
|
3616
|
+
for (var x = 0; x < v.length; x++) {
|
|
3617
|
+
var b = v[x];
|
|
3618
|
+
b.getAttribute("data-tab") == this._mode || b.getAttribute("name") == this._mode + "_tab" ? (b.classList.add("active"), this._waiAria.headerToggleState(b, !0)) : (b.classList.remove("active"), this._waiAria.headerToggleState(b, !1));
|
|
3619
3619
|
}
|
|
3620
3620
|
typeof N == "number" && (this._els[f][0].scrollTop = N), typeof M == "number" && this._els[k] && this._els[k][0] && (this._els[k][0].scrollTop = M);
|
|
3621
3621
|
}, r.setCurrentView = function(c, u) {
|
|
@@ -3662,8 +3662,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3662
3662
|
c.innerHTML = "";
|
|
3663
3663
|
for (var v = 0; v < k; v++) {
|
|
3664
3664
|
if (this._ignores[v] || this._render_x_header(v, N, M, c), !this._table_view) {
|
|
3665
|
-
var
|
|
3666
|
-
M.valueOf() == w.valueOf() && (
|
|
3665
|
+
var x = document.createElement("div"), b = "dhx_scale_holder";
|
|
3666
|
+
M.valueOf() == w.valueOf() && (b += " dhx_scale_holder_now"), x.setAttribute("data-column-index", v), this._ignores_detected && this._ignores[v] && (b += " dhx_scale_ignore");
|
|
3667
3667
|
for (let E = 1 * this.config.first_hour; E < this.config.last_hour; E++) {
|
|
3668
3668
|
const S = document.createElement("div");
|
|
3669
3669
|
S.className = "dhx_scale_time_slot dhx_scale_time_slot_hour_start", S.style.height = this.config.hour_size_px / 2 + "px";
|
|
@@ -3672,11 +3672,11 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3672
3672
|
let A = this.templates.time_slot_text(T);
|
|
3673
3673
|
A && (S.innerHTML = A);
|
|
3674
3674
|
let C = this.templates.time_slot_class(T);
|
|
3675
|
-
C && S.classList.add(C),
|
|
3675
|
+
C && S.classList.add(C), x.appendChild(S);
|
|
3676
3676
|
const $ = document.createElement("div");
|
|
3677
|
-
$.className = "dhx_scale_time_slot", T = new Date(M.getFullYear(), M.getMonth(), M.getDate(), E, 30), $.setAttribute("data-slot-date", this.templates.format_date(T)), $.style.height = this.config.hour_size_px / 2 + "px", A = this.templates.time_slot_text(T), A && ($.innerHTML = A), C = this.templates.time_slot_class(T), C && $.classList.add(C),
|
|
3677
|
+
$.className = "dhx_scale_time_slot", T = new Date(M.getFullYear(), M.getMonth(), M.getDate(), E, 30), $.setAttribute("data-slot-date", this.templates.format_date(T)), $.style.height = this.config.hour_size_px / 2 + "px", A = this.templates.time_slot_text(T), A && ($.innerHTML = A), C = this.templates.time_slot_class(T), C && $.classList.add(C), x.appendChild($);
|
|
3678
3678
|
}
|
|
3679
|
-
|
|
3679
|
+
x.className = b + " " + this.templates.week_date_class(M, w), this._waiAria.dayColumnAttr(x, M), this._set_scale_col_size(x, this._cols[v], N), u.appendChild(x), this.callEvent("onScaleAdd", [x, M]);
|
|
3680
3680
|
}
|
|
3681
3681
|
N += this._cols[v], M = this.date.add(M, 1, "day"), M = this.date.day_start(M);
|
|
3682
3682
|
}
|
|
@@ -3694,14 +3694,14 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3694
3694
|
if (v && (v.innerHTML = N, this._waiAria.navBarDateAttr(v, N)), this._max_date = k, r._render_scales(c, u), this._table_view)
|
|
3695
3695
|
this._reset_month_scale(u, M, w);
|
|
3696
3696
|
else if (this._reset_hours_scale(u, M, w), f.multi_day) {
|
|
3697
|
-
var
|
|
3698
|
-
this._els[
|
|
3699
|
-
var
|
|
3700
|
-
|
|
3697
|
+
var x = "dhx_multi_day";
|
|
3698
|
+
this._els[x] && (this._els[x][0].parentNode.removeChild(this._els[x][0]), this._els[x] = null);
|
|
3699
|
+
var b = document.createElement("div");
|
|
3700
|
+
b.className = x, b.style.visibility = "hidden", b.style.display = "none";
|
|
3701
3701
|
var E = this._colsS[this._colsS.col_length], S = f.rtl ? this.xy.scale_width : this.xy.scroll_width, T = Math.max(E + S, 0);
|
|
3702
|
-
this.set_xy(
|
|
3703
|
-
var A =
|
|
3704
|
-
A.className =
|
|
3702
|
+
this.set_xy(b, T, 0, 0), u.parentNode.insertBefore(b, u);
|
|
3703
|
+
var A = b.cloneNode(!0);
|
|
3704
|
+
A.className = x + "_icon", A.style.visibility = "hidden", A.style.display = "none", this.set_xy(A, this.xy.scale_width + 1, 0, 0), b.appendChild(A), this._els[x] = [b, A], r.event(this._els[x][0], "click", this._click.dhx_cal_data);
|
|
3705
3705
|
}
|
|
3706
3706
|
}
|
|
3707
3707
|
}, r._reset_hours_scale = function(c, u, f) {
|
|
@@ -3733,15 +3733,15 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3733
3733
|
var v = this._cols[N] || 0;
|
|
3734
3734
|
isNaN(Number(v)) || (v += "px"), k[N] = v;
|
|
3735
3735
|
}
|
|
3736
|
-
function
|
|
3736
|
+
function x(j) {
|
|
3737
3737
|
var I = r._colsS.height;
|
|
3738
3738
|
return r._colsS.heights[j + 1] !== void 0 && (I = r._colsS.heights[j + 1] - (r._colsS.heights[j] || 0)), I;
|
|
3739
3739
|
}
|
|
3740
|
-
var
|
|
3740
|
+
var b = 0;
|
|
3741
3741
|
const E = document.createElement("div");
|
|
3742
3742
|
for (E.classList.add("dhx_cal_month_table"), N = 0; N < y; N++) {
|
|
3743
3743
|
var S = document.createElement("div");
|
|
3744
|
-
S.classList.add("dhx_cal_month_row"), S.style.height =
|
|
3744
|
+
S.classList.add("dhx_cal_month_row"), S.style.height = x(N) + "px", E.appendChild(S);
|
|
3745
3745
|
for (var T = 0; T < 7; T++) {
|
|
3746
3746
|
var A = document.createElement("div");
|
|
3747
3747
|
S.appendChild(A);
|
|
@@ -3760,7 +3760,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3760
3760
|
var P = f.getDate();
|
|
3761
3761
|
(f = this.date.add(f, 1, "day")).getDate() - P > 1 && (f = new Date(f.getFullYear(), f.getMonth(), P + 1, 12, 0));
|
|
3762
3762
|
}
|
|
3763
|
-
r._colsS.heights[N] =
|
|
3763
|
+
r._colsS.heights[N] = b, b += x(N);
|
|
3764
3764
|
}
|
|
3765
3765
|
return this._min_date = D, this._max_date = f, c.innerHTML = "", c.appendChild(E), this._scales = {}, c.querySelectorAll("[data-cell-date]").forEach((j) => {
|
|
3766
3766
|
const I = r.templates.parse_date(j.getAttribute("data-cell-date")), U = j.querySelector(".dhx_month_body");
|
|
@@ -3826,8 +3826,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3826
3826
|
w -= u - N;
|
|
3827
3827
|
else {
|
|
3828
3828
|
let v = 0;
|
|
3829
|
-
const
|
|
3830
|
-
|
|
3829
|
+
const x = new Date(Math.max(N.valueOf(), c.valueOf())), b = u, E = new Date(x.getFullYear(), x.getMonth(), x.getDate(), f.first_hour || 0), S = new Date(x.getFullYear(), x.getMonth(), x.getDate(), f.last_hour || 24), T = new Date(u.getFullYear(), u.getMonth(), u.getDate(), f.first_hour || 0), A = new Date(u.getFullYear(), u.getMonth(), u.getDate(), f.last_hour || 24);
|
|
3830
|
+
b.valueOf() > A.valueOf() && (v += b - A), b.valueOf() > T.valueOf() ? v += f._start_correction : v += 60 * b.getHours() * 60 * 1e3 + 60 * b.getMinutes() * 1e3, x.valueOf() <= S.valueOf() && (v += f._end_correction), x.valueOf() < E.valueOf() && (v += E.valueOf() - x.valueOf()), w -= v, k = !1;
|
|
3831
3831
|
}
|
|
3832
3832
|
u = N, y--;
|
|
3833
3833
|
}
|
|
@@ -3840,13 +3840,13 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
3840
3840
|
var k = 60 * (f.last_hour - f.first_hour), N = Math.ceil((u / 6e4 - M) / k);
|
|
3841
3841
|
N < 0 && (N = 0), u += N * (1440 - k) * 60 * 1e3;
|
|
3842
3842
|
}
|
|
3843
|
-
var v,
|
|
3843
|
+
var v, x = new Date(1 * c + u * D), b = this["ignore_" + this._mode], E = 0;
|
|
3844
3844
|
function S() {
|
|
3845
3845
|
return f.x_unit === "day" ? E * D < v * D : E * D <= v * D;
|
|
3846
3846
|
}
|
|
3847
|
-
for (f.render ? (E = this._get_date_index(f, w), v = this._get_date_index(f,
|
|
3847
|
+
for (f.render ? (E = this._get_date_index(f, w), v = this._get_date_index(f, x)) : v = Math.round(u / 60 / 60 / 1e3 / 24); S(); ) {
|
|
3848
3848
|
var T = r.date.add(w, f.x_step * D, f.x_unit);
|
|
3849
|
-
|
|
3849
|
+
b && b(w) && (u += (T - w) * D, v += D), w = T, E += D;
|
|
3850
3850
|
}
|
|
3851
3851
|
return u;
|
|
3852
3852
|
}, r._get_section_view = function() {
|
|
@@ -4309,12 +4309,12 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
4309
4309
|
M -= r.xy.scroll_width || 0, this._calc_scale_sizes(M, this._min_date, this._max_date), r._colsS.heights = k, this.set_xy(this._els.dhx_cal_header[0], M), r._render_scales(this._els.dhx_cal_header[0]), r._render_month_scale(this._els.dhx_cal_data[0], this._get_timeunit_start(), this._min_date), D.scroll_fix = !0;
|
|
4310
4310
|
}
|
|
4311
4311
|
} else if (d.length || this._els.dhx_multi_day[0].style.visibility != "visible" || (m[0] = -1), d.length || m[0] == -1) {
|
|
4312
|
-
var N = (m[0] + 1) * h + 4, v = N,
|
|
4313
|
-
this.config.multi_day_height_limit && (
|
|
4314
|
-
var
|
|
4315
|
-
|
|
4312
|
+
var N = (m[0] + 1) * h + 4, v = N, x = N + "px";
|
|
4313
|
+
this.config.multi_day_height_limit && (x = (v = Math.min(N, this.config.multi_day_height_limit)) + "px");
|
|
4314
|
+
var b = this._els.dhx_multi_day[0];
|
|
4315
|
+
b.style.height = x, b.style.visibility = m[0] == -1 ? "hidden" : "visible", b.style.display = m[0] == -1 ? "none" : "";
|
|
4316
4316
|
var E = this._els.dhx_multi_day[1];
|
|
4317
|
-
E.style.height =
|
|
4317
|
+
E.style.height = x, E.style.visibility = m[0] == -1 ? "hidden" : "visible", E.style.display = m[0] == -1 ? "none" : "", E.className = m[0] ? "dhx_multi_day_icon" : "dhx_multi_day_icon_small", this._dy_shift = (m[0] + 1) * h, this.config.multi_day_height_limit && (this._dy_shift = Math.min(this.config.multi_day_height_limit, this._dy_shift)), m[0] = 0, v != N && (b.style.overflowY = "auto", E.style.position = "fixed", E.style.top = "", E.style.left = "");
|
|
4318
4318
|
}
|
|
4319
4319
|
}
|
|
4320
4320
|
return d;
|
|
@@ -4357,8 +4357,8 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
4357
4357
|
if (w.length <= w[w.length - 1]._sorder) {
|
|
4358
4358
|
if (w[w.length - 1]._sorder)
|
|
4359
4359
|
for (N = 0; N < w.length; N++) {
|
|
4360
|
-
for (var v = !1,
|
|
4361
|
-
if (w[
|
|
4360
|
+
for (var v = !1, x = 0; x < w.length; x++)
|
|
4361
|
+
if (w[x]._sorder == N) {
|
|
4362
4362
|
v = !0;
|
|
4363
4363
|
break;
|
|
4364
4364
|
}
|
|
@@ -4371,10 +4371,10 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
4371
4371
|
g._sorder = 0;
|
|
4372
4372
|
g._inner = !0;
|
|
4373
4373
|
} else {
|
|
4374
|
-
var
|
|
4374
|
+
var b = w[0]._sorder;
|
|
4375
4375
|
for (N = 1; N < w.length; N++)
|
|
4376
|
-
w[N]._sorder >
|
|
4377
|
-
g._sorder =
|
|
4376
|
+
w[N]._sorder > b && (b = w[N]._sorder);
|
|
4377
|
+
g._sorder = b + 1, g._inner = !1;
|
|
4378
4378
|
}
|
|
4379
4379
|
else
|
|
4380
4380
|
g._sorder = 0;
|
|
@@ -4417,14 +4417,14 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
4417
4417
|
if (y._sday = N % c, !this._ignores[y._sday] || !y._timed) {
|
|
4418
4418
|
var v = this.locate_holder_day(k, !0, y) || c;
|
|
4419
4419
|
if (y._eday = v % c || c, y._length = v - N, y._sweek = Math.floor((this._correct_shift(M.valueOf(), 1) - this._min_date.valueOf()) / (864e5 * c)), r._is_any_multiday_cell_visible(M, k, y)) {
|
|
4420
|
-
var
|
|
4421
|
-
for (
|
|
4420
|
+
var x, b = m[y._sweek];
|
|
4421
|
+
for (x = 0; x < b.length && !(b[x]._eday <= y._sday); x++)
|
|
4422
4422
|
;
|
|
4423
|
-
if (y._sorder && l || (y._sorder =
|
|
4424
|
-
h = null, p.push(y), x
|
|
4423
|
+
if (y._sorder && l || (y._sorder = x), y._sday + y._length <= c)
|
|
4424
|
+
h = null, p.push(y), b[x] = y, g[y._sweek] = b.length - 1, y._first_chunk = D.first_chunk, y._last_chunk = D.last_chunk;
|
|
4425
4425
|
else {
|
|
4426
4426
|
var E = this._copy_event(y);
|
|
4427
|
-
E.id = y.id, E._length = c - y._sday, E._eday = c, E._sday = y._sday, E._sweek = y._sweek, E._sorder = y._sorder, E.end_date = this.date.add(M, E._length, "day"), E._first_chunk = D.first_chunk, D.first_chunk && (D.first_chunk = !1), p.push(E), x
|
|
4427
|
+
E.id = y.id, E._length = c - y._sday, E._eday = c, E._sday = y._sday, E._sweek = y._sweek, E._sorder = y._sorder, E.end_date = this.date.add(M, E._length, "day"), E._first_chunk = D.first_chunk, D.first_chunk && (D.first_chunk = !1), p.push(E), b[x] = E, h = E.end_date, g[y._sweek] = b.length - 1, f--;
|
|
4428
4428
|
}
|
|
4429
4429
|
} else
|
|
4430
4430
|
h = null;
|
|
@@ -4488,9 +4488,9 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
4488
4488
|
}
|
|
4489
4489
|
if (this.xy.menu_width !== 0 && this._select_id == d.id) {
|
|
4490
4490
|
this.config.cascade_event_display && this._drag_mode && (k.style.zIndex = 1);
|
|
4491
|
-
for (var
|
|
4492
|
-
const A =
|
|
4493
|
-
|
|
4491
|
+
for (var x, b = this.config["icons_" + (this._edit_id == d.id ? "edit" : "select")], E = "", S = 0; S < b.length; S++) {
|
|
4492
|
+
const A = b[S];
|
|
4493
|
+
x = this._waiAria.eventMenuAttrString(A), E += `<div class='dhx_menu_icon ${A}' title='${this.locale.labels[A]}' ${x}></div>`;
|
|
4494
4494
|
}
|
|
4495
4495
|
var T = this._render_v_bar(d, M - p - 1, u, p, null, "", "<div class='dhx_menu_head'></div>", E, !0);
|
|
4496
4496
|
d.color && T.style.setProperty("--dhx-scheduler-event-background", d.color), d.textColor && T.style.setProperty("--dhx-scheduler-event-color", d.textColor), this._els.dhx_cal_data[0].appendChild(T), this._rendered.push(T);
|
|
@@ -4508,14 +4508,14 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
4508
4508
|
data-bar-start="${d.start_date.valueOf()}" data-bar-end="${d.end_date.valueOf()}">
|
|
4509
4509
|
</div>`;
|
|
4510
4510
|
y.innerHTML = v;
|
|
4511
|
-
var
|
|
4512
|
-
if (!f && r.renderEvent(
|
|
4513
|
-
return d.color &&
|
|
4514
|
-
|
|
4515
|
-
var
|
|
4516
|
-
|
|
4511
|
+
var x = y.cloneNode(!0).firstChild;
|
|
4512
|
+
if (!f && r.renderEvent(x, d, p, m, c, u))
|
|
4513
|
+
return d.color && x.style.setProperty("--dhx-scheduler-event-background", d.color), d.textColor && x.style.setProperty("--dhx-scheduler-event-color", d.textColor), x;
|
|
4514
|
+
x = y.firstChild, d.color && x.style.setProperty("--dhx-scheduler-event-background", d.color), d.textColor && x.style.setProperty("--dhx-scheduler-event-color", d.textColor);
|
|
4515
|
+
var b = '<div class="dhx_event_move dhx_header" > </div>';
|
|
4516
|
+
b += '<div class="dhx_event_move dhx_title">' + c + "</div>", b += '<div class="dhx_body">' + u + "</div>";
|
|
4517
4517
|
var E = "dhx_event_resize dhx_footer";
|
|
4518
|
-
return (f || d._drag_resize === !1) && (E = "dhx_resize_denied " + E),
|
|
4518
|
+
return (f || d._drag_resize === !1) && (E = "dhx_resize_denied " + E), b += '<div class="' + E + '" style=" width:' + (f ? " margin-top:-1px;" : "") + '" ></div>', x.innerHTML = b, x;
|
|
4519
4519
|
}, r.renderEvent = function() {
|
|
4520
4520
|
return !1;
|
|
4521
4521
|
}, r.locate_holder = function(d) {
|
|
@@ -4547,7 +4547,7 @@ https://docs.dhtmlx.com/scheduler/minicalendar.html`);
|
|
|
4547
4547
|
d._timed && !u || (k = !1, N = "dhx_cal_event_line"), y && (N += " dhx_cal_event_line_start"), w && (N += " dhx_cal_event_line_end"), D && (c += "<div class='dhx_event_resize dhx_event_resize_start'></div>"), M && (c += "<div class='dhx_event_resize dhx_event_resize_end'></div>");
|
|
4548
4548
|
var v = r.templates.event_class(d.start_date, d.end_date, d);
|
|
4549
4549
|
v && (N += " " + v);
|
|
4550
|
-
var
|
|
4550
|
+
var x = d.color ? "--dhx-scheduler-event-background:" + d.color + ";" : "", b = d.textColor ? "--dhx-scheduler-event-color:" + d.textColor + ";" : "", E = ["position:absolute", "top:" + p + "px", "left:" + m + "px", "width:" + (g - m - (k ? 1 : 0)) + "px", "height:" + (this.xy.bar_height - 2) + "px", b, x, d._text_style || ""].join(";"), S = "<div event_id='" + d.id + "' " + this.config.event_attribute + "='" + d.id + "' class='" + N + "' style='" + E + "'" + this._waiAria.eventBarAttrString(d) + ">";
|
|
4551
4551
|
u && (S += c), r.getState().mode != "month" || d._beforeEventChangedFlag || (d = r.getEvent(d.id)), d._timed && (S += `<span class='dhx_cal_event_clear_date'>${r.templates.event_bar_date(d.start_date, d.end_date, d)}</span>`), S += "<div class='dhx_cal_event_line_content'>", S += r.templates.event_bar_text(d.start_date, d.end_date, d) + "</div>", S += "</div>", S += "</div>", f.innerHTML = S, this._rendered.push(f.firstChild), l.appendChild(f.firstChild);
|
|
4552
4552
|
}
|
|
4553
4553
|
}, r._locate_event = function(d) {
|
|
@@ -6056,8 +6056,8 @@ var wa = function() {
|
|
|
6056
6056
|
}();
|
|
6057
6057
|
function Ha(e, i) {
|
|
6058
6058
|
var t, n, s = ve(e, 1, 1), a = we(e) ? 366 : 365, o = we(e + 1) ? 366 : 365, _ = ze(s), r = xe(s), d = ee(ee({ yearlen: a, nextyearlen: o, yearordinal: _, yearweekday: r }, function(N) {
|
|
6059
|
-
var v = we(N) ? 366 : 365,
|
|
6060
|
-
return v === 365 ? { mmask: ka, mdaymask: Na, nmdaymask: Oa, wdaymask: it.slice(
|
|
6059
|
+
var v = we(N) ? 366 : 365, x = ve(N, 1, 1), b = xe(x);
|
|
6060
|
+
return v === 365 ? { mmask: ka, mdaymask: Na, nmdaymask: Oa, wdaymask: it.slice(b), mrange: $a } : { mmask: Ea, mdaymask: Ma, nmdaymask: Ca, wdaymask: it.slice(b), mrange: La };
|
|
6061
6061
|
}(e)), { wnomask: null });
|
|
6062
6062
|
if (ie(i.byweekno))
|
|
6063
6063
|
return d;
|
|
@@ -6120,8 +6120,8 @@ var za = function() {
|
|
|
6120
6120
|
}
|
|
6121
6121
|
J(n.byeaster) && (this.eastermask = function(r, d) {
|
|
6122
6122
|
d === void 0 && (d = 0);
|
|
6123
|
-
var l = r % 19, h = Math.floor(r / 100), p = r % 100, m = Math.floor(h / 4), g = h % 4, c = Math.floor((h + 8) / 25), u = Math.floor((h - c + 1) / 3), f = Math.floor(19 * l + h - m - u + 15) % 30, y = Math.floor(p / 4), w = p % 4, D = Math.floor(32 + 2 * g + 2 * y - f - w) % 7, M = Math.floor((l + 11 * f + 22 * D) / 451), k = Math.floor((f + D - 7 * M + 114) / 31), N = (f + D - 7 * M + 114) % 31 + 1, v = Date.UTC(r, k - 1, N + d),
|
|
6124
|
-
return [Math.ceil((v -
|
|
6123
|
+
var l = r % 19, h = Math.floor(r / 100), p = r % 100, m = Math.floor(h / 4), g = h % 4, c = Math.floor((h + 8) / 25), u = Math.floor((h - c + 1) / 3), f = Math.floor(19 * l + h - m - u + 15) % 30, y = Math.floor(p / 4), w = p % 4, D = Math.floor(32 + 2 * g + 2 * y - f - w) % 7, M = Math.floor((l + 11 * f + 22 * D) / 451), k = Math.floor((f + D - 7 * M + 114) / 31), N = (f + D - 7 * M + 114) % 31 + 1, v = Date.UTC(r, k - 1, N + d), x = Date.UTC(r, 0, 1);
|
|
6124
|
+
return [Math.ceil((v - x) / 864e5)];
|
|
6125
6125
|
}(i, n.byeaster));
|
|
6126
6126
|
}, Object.defineProperty(e.prototype, "lastyear", { get: function() {
|
|
6127
6127
|
return this.monthinfo ? this.monthinfo.lastyear : null;
|
|
@@ -6216,8 +6216,8 @@ function Dt(e, i) {
|
|
|
6216
6216
|
return se(e);
|
|
6217
6217
|
var r = va.fromDate(t), d = new za(i);
|
|
6218
6218
|
d.rebuild(r.year, r.month);
|
|
6219
|
-
for (var l = function(v,
|
|
6220
|
-
var E =
|
|
6219
|
+
for (var l = function(v, x, b) {
|
|
6220
|
+
var E = b.freq, S = b.byhour, T = b.byminute, A = b.bysecond;
|
|
6221
6221
|
return Oe(E) ? function(C) {
|
|
6222
6222
|
var $ = C.dtstart.getTime() % 1e3;
|
|
6223
6223
|
if (!Oe(C.freq))
|
|
@@ -6230,7 +6230,7 @@ function Dt(e, i) {
|
|
|
6230
6230
|
});
|
|
6231
6231
|
});
|
|
6232
6232
|
}), H;
|
|
6233
|
-
}(
|
|
6233
|
+
}(b) : E >= z.HOURLY && K(S) && !F(S, x.hour) || E >= z.MINUTELY && K(T) && !F(T, x.minute) || E >= z.SECONDLY && K(A) && !F(A, x.second) ? [] : v.gettimeset(E)(x.hour, x.minute, x.second, x.millisecond);
|
|
6234
6234
|
}(d, r, i); ; ) {
|
|
6235
6235
|
var h = d.getdayset(n)(r.year, r.month, r.day), p = h[0], m = h[1], g = h[2], c = Ia(p, m, g, d, i);
|
|
6236
6236
|
if (K(o))
|
|
@@ -6352,8 +6352,8 @@ function Pa(e, i) {
|
|
|
6352
6352
|
var y = function(k) {
|
|
6353
6353
|
if (k.indexOf(":") === -1)
|
|
6354
6354
|
return { name: "RRULE", value: k };
|
|
6355
|
-
var N = (
|
|
6356
|
-
return { name: v, value:
|
|
6355
|
+
var N = (b = k, E = ":", S = 1, T = b.split(E), S ? T.slice(0, S).concat([T.slice(S).join(E)]) : T), v = N[0], x = N[1], b, E, S, T;
|
|
6356
|
+
return { name: v, value: x };
|
|
6357
6357
|
}(f), w = y.name, D = y.value, M = w.split(";");
|
|
6358
6358
|
if (!M)
|
|
6359
6359
|
throw new Error("empty property name");
|
|
@@ -6987,8 +6987,8 @@ const Fa = { active_links: function(e) {
|
|
|
6987
6987
|
} else if (h.length || this._els.dhx_multi_day[0].style.visibility != "visible" || (c[0] = -1), h.length || c[0] == -1) {
|
|
6988
6988
|
var k = (c[0] + 1) * m + 1;
|
|
6989
6989
|
s != k + 1 && (this._obj.style.height = n - s + k - 1 + "px"), k += "px";
|
|
6990
|
-
const
|
|
6991
|
-
u.style.height = this._obj.offsetHeight -
|
|
6990
|
+
const x = this._els.dhx_cal_navline[0].offsetHeight, b = this._els.dhx_cal_header[0].offsetHeight;
|
|
6991
|
+
u.style.height = this._obj.offsetHeight - x - b - (this.xy.margin_top || 0) + "px";
|
|
6992
6992
|
var N = this._els.dhx_multi_day[0];
|
|
6993
6993
|
N.style.height = k, N.style.visibility = c[0] == -1 ? "hidden" : "visible", N.style.display = c[0] == -1 ? "none" : "", (N = this._els.dhx_multi_day[1]).style.height = k, N.style.visibility = c[0] == -1 ? "hidden" : "visible", N.style.display = c[0] == -1 ? "none" : "", N.className = c[0] ? "dhx_multi_day_icon" : "dhx_multi_day_icon_small", this._dy_shift = (c[0] + 1) * m, c[0] = 0;
|
|
6994
6994
|
}
|
|
@@ -8314,18 +8314,18 @@ const Fa = { active_links: function(e) {
|
|
|
8314
8314
|
y = v;
|
|
8315
8315
|
break;
|
|
8316
8316
|
}
|
|
8317
|
-
var
|
|
8318
|
-
for (v = 0; v <
|
|
8319
|
-
if (
|
|
8317
|
+
var x = D.querySelectorAll("td");
|
|
8318
|
+
for (v = 0; v < x.length; v++)
|
|
8319
|
+
if (x[v] == M) {
|
|
8320
8320
|
w = v;
|
|
8321
8321
|
break;
|
|
8322
8322
|
}
|
|
8323
8323
|
}
|
|
8324
8324
|
}
|
|
8325
|
-
var
|
|
8325
|
+
var b = m.currentTarget;
|
|
8326
8326
|
r.delay(function() {
|
|
8327
8327
|
var E;
|
|
8328
|
-
(c || u || f) && (c ? (E = new _.$keyboardNavigation.MinicalButton(
|
|
8328
|
+
(c || u || f) && (c ? (E = new _.$keyboardNavigation.MinicalButton(b, 0), r.setActiveNode(new _.$keyboardNavigation.MinicalButton(b, 0))) : u ? E = new _.$keyboardNavigation.MinicalButton(b, 1) : f && (E = new _.$keyboardNavigation.MinicalCell(b, y, w)), E && (r.enable(), E.isValid() && (r.activeNode = null, r.setActiveNode(E))));
|
|
8329
8329
|
});
|
|
8330
8330
|
}
|
|
8331
8331
|
if (_.renderCalendar) {
|
|
@@ -8838,9 +8838,9 @@ const Fa = { active_links: function(e) {
|
|
|
8838
8838
|
else
|
|
8839
8839
|
e.config.rtl && (O = -O), D(c, O);
|
|
8840
8840
|
};
|
|
8841
|
-
},
|
|
8841
|
+
}, x = [e.locale.labels.prev, e.locale.labels.next], b = 0; b < 2; b++) {
|
|
8842
8842
|
var E = document.createElement("div");
|
|
8843
|
-
E.className = M[
|
|
8843
|
+
E.className = M[b], e._waiAria.headerButtonsAttributes(E, x[b]), E.style.cssText = k[b], E.innerHTML = this._mini_cal_arrows[b], f.appendChild(E), i.attach(E, "click", v(N[b]));
|
|
8844
8844
|
}
|
|
8845
8845
|
c._date = new Date(n), c.week_start = (n.getDay() - (this.config.start_on_monday ? 1 : 0) + 7) % 7;
|
|
8846
8846
|
var S = c._min_date = this.date.week_start(n);
|
|
@@ -9122,17 +9122,17 @@ const Fa = { active_links: function(e) {
|
|
|
9122
9122
|
}
|
|
9123
9123
|
function _(k, N, v) {
|
|
9124
9124
|
k = parseFloat(k), N = parseFloat(N), !isNaN(N) && v && (k -= N);
|
|
9125
|
-
var
|
|
9126
|
-
return k = k -
|
|
9125
|
+
var x = r(k);
|
|
9126
|
+
return k = k - x.width + x.cols * i, isNaN(k) ? "auto" : 100 * k / (i - (isNaN(N) ? 0 : N));
|
|
9127
9127
|
}
|
|
9128
9128
|
function r(k) {
|
|
9129
|
-
for (var N = 0, v = e._els.dhx_cal_header[0].childNodes,
|
|
9130
|
-
var E = b
|
|
9129
|
+
for (var N = 0, v = e._els.dhx_cal_header[0].childNodes, x = v[1] ? v[1].childNodes : v[0].childNodes, b = 0; b < x.length; b++) {
|
|
9130
|
+
var E = x[b].style ? x[b] : x[b].parentNode, S = parseFloat(E.style.width);
|
|
9131
9131
|
if (!(k > S))
|
|
9132
9132
|
break;
|
|
9133
9133
|
k -= S + 1, N += S + 1;
|
|
9134
9134
|
}
|
|
9135
|
-
return { width: N, cols:
|
|
9135
|
+
return { width: N, cols: b };
|
|
9136
9136
|
}
|
|
9137
9137
|
function d(k) {
|
|
9138
9138
|
return k = parseFloat(k), isNaN(k) ? "auto" : 100 * k / t;
|
|
@@ -9141,15 +9141,15 @@ const Fa = { active_links: function(e) {
|
|
|
9141
9141
|
return (window.getComputedStyle ? window.getComputedStyle(k, null)[N] : k.currentStyle ? k.currentStyle[N] : null) || "";
|
|
9142
9142
|
}
|
|
9143
9143
|
function h(k, N) {
|
|
9144
|
-
for (var v = parseInt(k.style.left, 10),
|
|
9145
|
-
if ((v -= e._cols[
|
|
9146
|
-
return
|
|
9144
|
+
for (var v = parseInt(k.style.left, 10), x = 0; x < e._cols.length; x++)
|
|
9145
|
+
if ((v -= e._cols[x]) < 0)
|
|
9146
|
+
return x;
|
|
9147
9147
|
return N;
|
|
9148
9148
|
}
|
|
9149
9149
|
function p(k, N) {
|
|
9150
|
-
for (var v = parseInt(k.style.top, 10),
|
|
9151
|
-
if (e._colsS.heights[
|
|
9152
|
-
return
|
|
9150
|
+
for (var v = parseInt(k.style.top, 10), x = 0; x < e._colsS.heights.length; x++)
|
|
9151
|
+
if (e._colsS.heights[x] > v)
|
|
9152
|
+
return x;
|
|
9153
9153
|
return N;
|
|
9154
9154
|
}
|
|
9155
9155
|
function m(k) {
|
|
@@ -9158,147 +9158,147 @@ const Fa = { active_links: function(e) {
|
|
|
9158
9158
|
function g(k) {
|
|
9159
9159
|
return k ? "</" + k + ">" : "";
|
|
9160
9160
|
}
|
|
9161
|
-
function c(k, N, v,
|
|
9162
|
-
var
|
|
9163
|
-
return v && (
|
|
9161
|
+
function c(k, N, v, x) {
|
|
9162
|
+
var b = "<" + k + " profile='" + N + "'";
|
|
9163
|
+
return v && (b += " header='" + v + "'"), x && (b += " footer='" + x + "'"), b += ">";
|
|
9164
9164
|
}
|
|
9165
9165
|
function u() {
|
|
9166
9166
|
var k = "", N = e._mode;
|
|
9167
9167
|
if (e.matrix && e.matrix[e._mode] && (N = e.matrix[e._mode].render == "cell" ? "matrix" : "timeline"), k += "<scale mode='" + N + "' today='" + e._els.dhx_cal_date[0].innerHTML + "'>", e._mode == "week_agenda")
|
|
9168
|
-
for (var v = e._els.dhx_cal_data[0].getElementsByTagName("DIV"),
|
|
9169
|
-
v[
|
|
9168
|
+
for (var v = e._els.dhx_cal_data[0].getElementsByTagName("DIV"), x = 0; x < v.length; x++)
|
|
9169
|
+
v[x].className == "dhx_wa_scale_bar" && (k += "<column>" + a(v[x].innerHTML) + "</column>");
|
|
9170
9170
|
else if (e._mode == "agenda" || e._mode == "map")
|
|
9171
9171
|
k += "<column>" + a((v = e._els.dhx_cal_header[0].childNodes[0].childNodes)[0].innerHTML) + "</column><column>" + a(v[1].innerHTML) + "</column>";
|
|
9172
9172
|
else if (e._mode == "year")
|
|
9173
|
-
for (v = e._els.dhx_cal_data[0].childNodes,
|
|
9174
|
-
k += "<month label='" + a(v[
|
|
9173
|
+
for (v = e._els.dhx_cal_data[0].childNodes, x = 0; x < v.length; x++)
|
|
9174
|
+
k += "<month label='" + a(v[x].querySelector(".dhx_year_month").innerHTML) + "'>", k += y(v[x].querySelector(".dhx_year_week").childNodes), k += f(v[x].querySelector(".dhx_year_body")), k += "</month>";
|
|
9175
9175
|
else {
|
|
9176
9176
|
k += "<x>", k += y(v = e._els.dhx_cal_header[0].childNodes), k += "</x>";
|
|
9177
|
-
var
|
|
9177
|
+
var b = e._els.dhx_cal_data[0];
|
|
9178
9178
|
if (e.matrix && e.matrix[e._mode]) {
|
|
9179
|
-
for (k += "<y>",
|
|
9180
|
-
k += "<row><![CDATA[" + a(
|
|
9181
|
-
k += "</y>", t =
|
|
9182
|
-
} else if (
|
|
9183
|
-
k += f(
|
|
9179
|
+
for (k += "<y>", x = 0; x < b.firstChild.rows.length; x++)
|
|
9180
|
+
k += "<row><![CDATA[" + a(b.firstChild.rows[x].cells[0].innerHTML) + "]]></row>";
|
|
9181
|
+
k += "</y>", t = b.firstChild.rows[0].cells[0].offsetHeight;
|
|
9182
|
+
} else if (b.firstChild.tagName == "TABLE")
|
|
9183
|
+
k += f(b);
|
|
9184
9184
|
else {
|
|
9185
|
-
for (
|
|
9186
|
-
|
|
9187
|
-
for (
|
|
9185
|
+
for (b = b.childNodes[b.childNodes.length - 1]; b.className.indexOf("dhx_scale_holder") == -1; )
|
|
9186
|
+
b = b.previousSibling;
|
|
9187
|
+
for (b = b.childNodes, k += "<y>", x = 0; x < b.length; x++)
|
|
9188
9188
|
k += `
|
|
9189
|
-
<row><![CDATA[` + a(x
|
|
9190
|
-
k += "</y>", t =
|
|
9189
|
+
<row><![CDATA[` + a(b[x].innerHTML) + "]]></row>";
|
|
9190
|
+
k += "</y>", t = b[0].offsetHeight;
|
|
9191
9191
|
}
|
|
9192
9192
|
}
|
|
9193
9193
|
return k += "</scale>";
|
|
9194
9194
|
}
|
|
9195
9195
|
function f(k) {
|
|
9196
|
-
for (var N = "", v = k.querySelectorAll("tr"),
|
|
9197
|
-
for (var
|
|
9198
|
-
|
|
9196
|
+
for (var N = "", v = k.querySelectorAll("tr"), x = 0; x < v.length; x++) {
|
|
9197
|
+
for (var b = [], E = v[x].querySelectorAll("td"), S = 0; S < E.length; S++)
|
|
9198
|
+
b.push(E[S].querySelector(".dhx_month_head").innerHTML);
|
|
9199
9199
|
N += `
|
|
9200
|
-
<row height='` + E[0].offsetHeight + "'><![CDATA[" + a(
|
|
9200
|
+
<row height='` + E[0].offsetHeight + "'><![CDATA[" + a(b.join("|")) + "]]></row>", t = E[0].offsetHeight;
|
|
9201
9201
|
}
|
|
9202
9202
|
return N;
|
|
9203
9203
|
}
|
|
9204
9204
|
function y(k) {
|
|
9205
9205
|
var N, v = "";
|
|
9206
9206
|
e.matrix && e.matrix[e._mode] && (e.matrix[e._mode].second_scale && (N = k[1].childNodes), k = k[0].childNodes);
|
|
9207
|
-
for (var
|
|
9207
|
+
for (var x = 0; x < k.length; x++)
|
|
9208
9208
|
v += `
|
|
9209
|
-
<column><![CDATA[` + a(k[
|
|
9209
|
+
<column><![CDATA[` + a(k[x].innerHTML) + "]]></column>";
|
|
9210
9210
|
if (i = k[0].offsetWidth, N) {
|
|
9211
|
-
var
|
|
9212
|
-
for (
|
|
9211
|
+
var b = 0, E = k[0].offsetWidth, S = 1;
|
|
9212
|
+
for (x = 0; x < N.length; x++)
|
|
9213
9213
|
v += `
|
|
9214
|
-
<column second_scale='` + S + "'><![CDATA[" + a(N[
|
|
9214
|
+
<column second_scale='` + S + "'><![CDATA[" + a(N[x].innerHTML) + "]]></column>", (b += N[x].offsetWidth) >= E && (E += k[S] ? k[S].offsetWidth : 0, S++), i = N[0].offsetWidth;
|
|
9215
9215
|
}
|
|
9216
9216
|
return v;
|
|
9217
9217
|
}
|
|
9218
9218
|
function w(k) {
|
|
9219
|
-
var N = "", v = e._rendered,
|
|
9219
|
+
var N = "", v = e._rendered, x = e.matrix && e.matrix[e._mode];
|
|
9220
9220
|
if (e._mode == "agenda" || e._mode == "map")
|
|
9221
|
-
for (var
|
|
9222
|
-
N += "<event><head><![CDATA[" + a(v[
|
|
9221
|
+
for (var b = 0; b < v.length; b++)
|
|
9222
|
+
N += "<event><head><![CDATA[" + a(v[b].childNodes[0].innerHTML) + "]]></head><body><![CDATA[" + a(v[b].childNodes[2].innerHTML) + "]]></body></event>";
|
|
9223
9223
|
else if (e._mode == "week_agenda")
|
|
9224
|
-
for (
|
|
9225
|
-
N += "<event day='" + v[
|
|
9224
|
+
for (b = 0; b < v.length; b++)
|
|
9225
|
+
N += "<event day='" + v[b].parentNode.getAttribute("day") + "'><body>" + a(v[b].innerHTML) + "</body></event>";
|
|
9226
9226
|
else if (e._mode == "year")
|
|
9227
|
-
for (v = e.get_visible_events(),
|
|
9228
|
-
var E = v[
|
|
9229
|
-
for (E.valueOf() < e._min_date.valueOf() && (E = e._min_date); E < v[
|
|
9227
|
+
for (v = e.get_visible_events(), b = 0; b < v.length; b++) {
|
|
9228
|
+
var E = v[b].start_date;
|
|
9229
|
+
for (E.valueOf() < e._min_date.valueOf() && (E = e._min_date); E < v[b].end_date; ) {
|
|
9230
9230
|
var S = E.getMonth() + 12 * (E.getFullYear() - e._min_date.getFullYear()) - e.week_starts._month, T = e.week_starts[S] + E.getDate() - 1, A = k ? l(e._get_year_cell(E), "color") : "", C = k ? l(e._get_year_cell(E), "backgroundColor") : "";
|
|
9231
9231
|
if (N += "<event day='" + T % 7 + "' week='" + Math.floor(T / 7) + "' month='" + S + "' backgroundColor='" + C + "' color='" + A + "'></event>", (E = e.date.add(E, 1, "day")).valueOf() >= e._max_date.valueOf())
|
|
9232
9232
|
break;
|
|
9233
9233
|
}
|
|
9234
9234
|
}
|
|
9235
|
-
else if (
|
|
9236
|
-
for (v = e._els.dhx_cal_data[0].getElementsByTagName("TD"),
|
|
9237
|
-
A = k ? l(v[
|
|
9238
|
-
<event><body backgroundColor='` + (C = k ? l(v[
|
|
9235
|
+
else if (x && x.render == "cell")
|
|
9236
|
+
for (v = e._els.dhx_cal_data[0].getElementsByTagName("TD"), b = 0; b < v.length; b++)
|
|
9237
|
+
A = k ? l(v[b], "color") : "", N += `
|
|
9238
|
+
<event><body backgroundColor='` + (C = k ? l(v[b], "backgroundColor") : "") + "' color='" + A + "'><![CDATA[" + a(v[b].innerHTML) + "]]></body></event>";
|
|
9239
9239
|
else
|
|
9240
|
-
for (
|
|
9240
|
+
for (b = 0; b < v.length; b++) {
|
|
9241
9241
|
var $, H;
|
|
9242
9242
|
if (e.matrix && e.matrix[e._mode])
|
|
9243
|
-
$ = o(v[
|
|
9243
|
+
$ = o(v[b].style.left), H = o(v[b].offsetWidth) - 1;
|
|
9244
9244
|
else {
|
|
9245
9245
|
var O = e.config.use_select_menu_space ? 0 : 26;
|
|
9246
|
-
$ = _(v[
|
|
9246
|
+
$ = _(v[b].style.left, O, !0), H = _(v[b].style.width, O) - 1;
|
|
9247
9247
|
}
|
|
9248
9248
|
if (!isNaN(1 * H)) {
|
|
9249
|
-
var R = d(v[
|
|
9249
|
+
var R = d(v[b].style.top), P = d(v[b].style.height), j = v[b].className.split(" ")[0].replace("dhx_cal_", "");
|
|
9250
9250
|
if (j !== "dhx_tooltip_line") {
|
|
9251
|
-
var I = e.getEvent(v[
|
|
9251
|
+
var I = e.getEvent(v[b].getAttribute(e.config.event_attribute));
|
|
9252
9252
|
if (I) {
|
|
9253
9253
|
T = I._sday;
|
|
9254
9254
|
var U = I._sweek, B = I._length || 0;
|
|
9255
9255
|
if (e._mode == "month")
|
|
9256
|
-
P = parseInt(v[
|
|
9256
|
+
P = parseInt(v[b].offsetHeight, 10), R = parseInt(v[b].style.top, 10) - e.xy.month_head_height, T = h(v[b], T), U = p(v[b], U);
|
|
9257
9257
|
else if (e.matrix && e.matrix[e._mode]) {
|
|
9258
|
-
T = 0, U = v[
|
|
9258
|
+
T = 0, U = v[b].parentNode.parentNode.parentNode.rowIndex;
|
|
9259
9259
|
var W = t;
|
|
9260
|
-
t = v[
|
|
9260
|
+
t = v[b].parentNode.offsetHeight, R = d(v[b].style.top), R -= 0.2 * R, t = W;
|
|
9261
9261
|
} else {
|
|
9262
|
-
if (v[
|
|
9262
|
+
if (v[b].parentNode == e._els.dhx_cal_data[0])
|
|
9263
9263
|
continue;
|
|
9264
9264
|
var pe = e._els.dhx_cal_data[0].childNodes[0], St = parseFloat(pe.className.indexOf("dhx_scale_holder") != -1 ? pe.style.left : 0);
|
|
9265
|
-
$ += o(v[
|
|
9265
|
+
$ += o(v[b].parentNode.style.left, St);
|
|
9266
9266
|
}
|
|
9267
9267
|
N += `
|
|
9268
|
-
<event week='` + U + "' day='" + T + "' type='" + j + "' x='" + $ + "' y='" + R + "' width='" + H + "' height='" + P + "' len='" + B + "'>", j == "event" ? (N += "<header><![CDATA[" + a(v[
|
|
9268
|
+
<event week='` + U + "' day='" + T + "' type='" + j + "' x='" + $ + "' y='" + R + "' width='" + H + "' height='" + P + "' len='" + B + "'>", j == "event" ? (N += "<header><![CDATA[" + a(v[b].childNodes[1].innerHTML) + "]]></header>", A = k ? l(v[b].childNodes[2], "color") : "", N += "<body backgroundColor='" + (C = k ? l(v[b].childNodes[2], "backgroundColor") : "") + "' color='" + A + "'><![CDATA[" + a(v[b].childNodes[2].innerHTML) + "]]></body>") : (A = k ? l(v[b], "color") : "", N += "<body backgroundColor='" + (C = k ? l(v[b], "backgroundColor") : "") + "' color='" + A + "'><![CDATA[" + a(v[b].innerHTML) + "]]></body>"), N += "</event>";
|
|
9269
9269
|
}
|
|
9270
9270
|
}
|
|
9271
9271
|
}
|
|
9272
9272
|
}
|
|
9273
9273
|
return N;
|
|
9274
9274
|
}
|
|
9275
|
-
function D(k, N, v,
|
|
9275
|
+
function D(k, N, v, x, b, E) {
|
|
9276
9276
|
var S = !1;
|
|
9277
|
-
|
|
9277
|
+
x == "fullcolor" && (S = !0, x = "color"), x = x || "color";
|
|
9278
9278
|
var T = "";
|
|
9279
9279
|
if (k) {
|
|
9280
9280
|
var A = e._date, C = e._mode;
|
|
9281
|
-
N = e.date[v + "_start"](N), N = e.date["get_" + v + "_end"] ? e.date["get_" + v + "_end"](N) : e.date.add(N, 1, v), T = c("pages",
|
|
9281
|
+
N = e.date[v + "_start"](N), N = e.date["get_" + v + "_end"] ? e.date["get_" + v + "_end"](N) : e.date.add(N, 1, v), T = c("pages", x, b, E);
|
|
9282
9282
|
for (var $ = new Date(k); +$ < +N; $ = this.date.add($, 1, v))
|
|
9283
9283
|
this.setCurrentView($, v), T += m("page") + u().replace("–", "-") + w(S) + g("page");
|
|
9284
9284
|
T += g("pages"), this.setCurrentView(A, C);
|
|
9285
9285
|
} else
|
|
9286
|
-
T = c("data",
|
|
9286
|
+
T = c("data", x, b, E) + u().replace("–", "-") + w(S) + g("data");
|
|
9287
9287
|
return T;
|
|
9288
9288
|
}
|
|
9289
|
-
function M(k, N, v,
|
|
9289
|
+
function M(k, N, v, x, b, E, S) {
|
|
9290
9290
|
(function(T, A) {
|
|
9291
9291
|
var C = e.uid(), $ = document.createElement("div");
|
|
9292
9292
|
$.style.display = "none", document.body.appendChild($), $.innerHTML = '<form id="' + C + '" method="post" target="_blank" action="' + A + '" accept-charset="utf-8" enctype="application/x-www-form-urlencoded"><input type="hidden" name="mycoolxmlbody"/> </form>', document.getElementById(C).firstChild.value = encodeURIComponent(T), document.getElementById(C).submit(), $.parentNode.removeChild($);
|
|
9293
|
-
})(typeof
|
|
9293
|
+
})(typeof b == "object" ? function(T) {
|
|
9294
9294
|
for (var A = "<data>", C = 0; C < T.length; C++)
|
|
9295
9295
|
A += T[C].source.getPDFData(T[C].start, T[C].end, T[C].view, T[C].mode, T[C].header, T[C].footer);
|
|
9296
9296
|
return A += "</data>", A;
|
|
9297
|
-
}(
|
|
9297
|
+
}(b) : D.apply(this, [k, N, v, b, E, S]), x);
|
|
9298
9298
|
}
|
|
9299
|
-
e.getPDFData = D, e.toPDF = function(k, N, v,
|
|
9300
|
-
return M.apply(this, [null, null, null, k, N, v,
|
|
9301
|
-
}, e.toPDFRange = function(k, N, v,
|
|
9299
|
+
e.getPDFData = D, e.toPDF = function(k, N, v, x) {
|
|
9300
|
+
return M.apply(this, [null, null, null, k, N, v, x]);
|
|
9301
|
+
}, e.toPDFRange = function(k, N, v, x, b, E, S) {
|
|
9302
9302
|
return typeof k == "string" && (k = e.templates.api_date(k), N = e.templates.api_date(N)), M.apply(this, arguments);
|
|
9303
9303
|
};
|
|
9304
9304
|
}, quick_info: function(e) {
|
|
@@ -9497,8 +9497,8 @@ const Fa = { active_links: function(e) {
|
|
|
9497
9497
|
};
|
|
9498
9498
|
});
|
|
9499
9499
|
}, recurring: function(e) {
|
|
9500
|
-
function i(v,
|
|
9501
|
-
return v === "occurrence" ?
|
|
9500
|
+
function i(v, x) {
|
|
9501
|
+
return v === "occurrence" ? x.occurrence || e.locale.labels.button_edit_occurrence : v === "following" ? x.following || e.locale.labels.button_edit_occurrence_and_following : v === "series" ? x.series || e.locale.labels.button_edit_series : v;
|
|
9502
9502
|
}
|
|
9503
9503
|
function t(v) {
|
|
9504
9504
|
return new Date(v.getFullYear(), v.getMonth(), v.getDate(), v.getHours(), v.getMinutes(), v.getSeconds(), 0);
|
|
@@ -9513,47 +9513,47 @@ const Fa = { active_links: function(e) {
|
|
|
9513
9513
|
return new Date(v.getUTCFullYear(), v.getUTCMonth(), v.getUTCDate(), v.getUTCHours(), v.getUTCMinutes(), v.getUTCSeconds());
|
|
9514
9514
|
}
|
|
9515
9515
|
function o(v) {
|
|
9516
|
-
let
|
|
9517
|
-
v.rrule.includes(";UNTIL=") && (v.rrule = v.rrule.split(";UNTIL=")[0]), v.rrule.includes(";COUNT=") ? (
|
|
9516
|
+
let x;
|
|
9517
|
+
v.rrule.includes(";UNTIL=") && (v.rrule = v.rrule.split(";UNTIL=")[0]), v.rrule.includes(";COUNT=") ? (x = ge(`RRULE:${v.rrule};UNTIL=${c(a(v._shorten_end_date))}`, { dtstart: v.start_date }), delete x.origOptions.count) : x = ge(`RRULE:${v.rrule};UNTIL=${c(a(v._end_date || v.end_date))}`, { dtstart: v.start_date }), v.rrule = new z(x.origOptions).toString().replace("RRULE:", "").split(`
|
|
9518
9518
|
`)[1];
|
|
9519
9519
|
}
|
|
9520
|
-
function _(v,
|
|
9521
|
-
|
|
9522
|
-
let
|
|
9520
|
+
function _(v, x) {
|
|
9521
|
+
x || (x = e.getEvent(v));
|
|
9522
|
+
let b, E = x.rrule.split(";"), S = [];
|
|
9523
9523
|
for (let T = 0; T < E.length; T++) {
|
|
9524
9524
|
let A = E[T].split("="), C = A[0], $ = A[1];
|
|
9525
|
-
if (C !== "BYDAY" ||
|
|
9526
|
-
if (C === "UNTIL" && ge(
|
|
9527
|
-
const H = e.date.date_part(new Date(
|
|
9528
|
-
$ -= Math.floor((O - H) / (864e5 *
|
|
9525
|
+
if (C !== "BYDAY" || x.rrule.includes("WEEKLY") && $.length > 3) {
|
|
9526
|
+
if (C === "UNTIL" && ge(x.rrule).options.until.valueOf() < x.start_date.valueOf() && (x._end_date = x.end_date), C === "INTERVAL" && (b = Number($)), C === "COUNT" && x._shorten_end_date) {
|
|
9527
|
+
const H = e.date.date_part(new Date(x._start_date)), O = e.date.date_part(new Date(x._shorten_end_date));
|
|
9528
|
+
$ -= Math.floor((O - H) / (864e5 * b)) + 1;
|
|
9529
9529
|
}
|
|
9530
9530
|
S.push(C), S.push("="), S.push($), S.push(";");
|
|
9531
9531
|
}
|
|
9532
9532
|
}
|
|
9533
|
-
S.pop(),
|
|
9533
|
+
S.pop(), x.rrule = S.join("");
|
|
9534
9534
|
}
|
|
9535
|
-
function r(v,
|
|
9536
|
-
v._end_date = v.end_date, e._isExceptionFirstOccurrence(
|
|
9535
|
+
function r(v, x) {
|
|
9536
|
+
v._end_date = v.end_date, e._isExceptionFirstOccurrence(x) ? (v.start_date = x.start_date, v.end_date = new Date(x.start_date.valueOf() + 1e3 * v.duration), v._start_date = x.original_start, v._modified = !0) : (v.end_date = new Date(x.start_date.valueOf() + 1e3 * v.duration), v.start_date = x.start_date, v._firstOccurrence = !0), v._thisAndFollowing = x.id;
|
|
9537
9537
|
}
|
|
9538
|
-
function d(v,
|
|
9539
|
-
const S =
|
|
9540
|
-
e._events[S] = { ...E,
|
|
9538
|
+
function d(v, x, b, E) {
|
|
9539
|
+
const S = b._modified ? E.id : v;
|
|
9540
|
+
e._events[S] = { ...E, ...x, end_date: E._end_date, _start_date: E.start_date, _thisAndFollowing: null, _end_date: null }, b._modified && delete e._events[v], e.callEvent("onEventChanged", [e._events[S].id, e._events[S]]);
|
|
9541
9541
|
}
|
|
9542
9542
|
function l(v) {
|
|
9543
|
-
for (const
|
|
9544
|
-
e._events[
|
|
9543
|
+
for (const x in e._events)
|
|
9544
|
+
e._events[x].id == v.id && delete e._events[x];
|
|
9545
9545
|
}
|
|
9546
|
-
function h(v,
|
|
9547
|
-
for (let
|
|
9548
|
-
let E = e._events[
|
|
9549
|
-
(E.recurring_event_id == v || e._is_virtual_event(E.id) && E.id.split("#")[0] == v) && E.start_date.valueOf() >=
|
|
9546
|
+
function h(v, x) {
|
|
9547
|
+
for (let b in e._events) {
|
|
9548
|
+
let E = e._events[b];
|
|
9549
|
+
(E.recurring_event_id == v || e._is_virtual_event(E.id) && E.id.split("#")[0] == v) && E.start_date.valueOf() >= x.start_date.valueOf() && (E.text = x.text, e.updateEvent(E.id));
|
|
9550
9550
|
}
|
|
9551
9551
|
}
|
|
9552
|
-
function p(v,
|
|
9553
|
-
let
|
|
9554
|
-
v = String(
|
|
9555
|
-
let S = e.uid(), T = v[1] ? v[1] :
|
|
9556
|
-
A.id = S, A.recurring_event_id =
|
|
9552
|
+
function p(v, x) {
|
|
9553
|
+
let b = v, E = new Date(x.original_start).valueOf();
|
|
9554
|
+
v = String(b).split("#") || x._pid_time || E;
|
|
9555
|
+
let S = e.uid(), T = v[1] ? v[1] : x._pid_time || E, A = e._copy_event(x);
|
|
9556
|
+
A.id = S, A.recurring_event_id = x.recurring_event_id || v[0], A.original_start = new Date(Number(T)), A.deleted = !0, e.addEvent(A);
|
|
9557
9557
|
}
|
|
9558
9558
|
function m() {
|
|
9559
9559
|
for (const v in e._events)
|
|
@@ -9562,27 +9562,27 @@ const Fa = { active_links: function(e) {
|
|
|
9562
9562
|
}
|
|
9563
9563
|
function g() {
|
|
9564
9564
|
const v = {};
|
|
9565
|
-
for (const
|
|
9566
|
-
const
|
|
9567
|
-
|
|
9565
|
+
for (const x in e._events) {
|
|
9566
|
+
const b = e._events[x];
|
|
9567
|
+
b.recurring_event_id && b.original_start && (v[b.recurring_event_id] || (v[b.recurring_event_id] = {}), v[b.recurring_event_id][b.original_start.valueOf()] = b);
|
|
9568
9568
|
}
|
|
9569
9569
|
return v;
|
|
9570
9570
|
}
|
|
9571
9571
|
e.ext.recurring = { confirm: function(v) {
|
|
9572
9572
|
}, confirmDefault: function(v) {
|
|
9573
|
-
const
|
|
9574
|
-
if (
|
|
9573
|
+
const x = v.labels || {}, b = Array.isArray(v.options) ? v.options : [];
|
|
9574
|
+
if (b.length === 0)
|
|
9575
9575
|
return Promise.resolve(null);
|
|
9576
|
-
if (
|
|
9577
|
-
return Promise.resolve(
|
|
9578
|
-
const E =
|
|
9576
|
+
if (b.length === 1)
|
|
9577
|
+
return Promise.resolve(b[0]);
|
|
9578
|
+
const E = b.map((S, T) => ({ value: S, label: i(S, x), checked: T === 0 }));
|
|
9579
9579
|
return new Promise((S) => {
|
|
9580
9580
|
e.modalbox({ text: `<div class="dhx_edit_recurrence_options">
|
|
9581
9581
|
${E.map((T) => `<label class="dhx_styled_radio">
|
|
9582
9582
|
<input type="radio" value="${T.value}" name="option" ${T.checked ? "checked" : ""}>
|
|
9583
9583
|
${T.label}
|
|
9584
9584
|
</label>`).join("")}
|
|
9585
|
-
</div>`, type: "recurring_mode", title:
|
|
9585
|
+
</div>`, type: "recurring_mode", title: x.title || e.locale.labels.confirm_recurring, width: "auto", position: "middle", buttons: [{ label: x.ok || e.locale.labels.message_ok, value: "ok", css: "rec_ok" }, { label: x.cancel || e.locale.labels.message_cancel, value: "cancel" }], callback: function(T, A) {
|
|
9586
9586
|
if (T === "cancel")
|
|
9587
9587
|
return void S(null);
|
|
9588
9588
|
const C = A.target.closest(".scheduler_modal_box"), $ = C && C.querySelector("input[type='radio']:checked"), H = $ ? $.value : null;
|
|
@@ -9590,32 +9590,32 @@ const Fa = { active_links: function(e) {
|
|
|
9590
9590
|
} });
|
|
9591
9591
|
});
|
|
9592
9592
|
}, _getDecision: async function(v) {
|
|
9593
|
-
const
|
|
9594
|
-
let
|
|
9595
|
-
return
|
|
9593
|
+
const x = e.ext.recurring.confirm;
|
|
9594
|
+
let b;
|
|
9595
|
+
return b = typeof x == "function" ? await x(v) : void 0, b === void 0 && (b = await e.ext.recurring.confirmDefault(v)), b === null ? null : v.options && v.options.length > 0 && v.options.indexOf(b) === -1 ? (console.warning(`[recurring extension] - the custom confirm handler returned a value ("${b}") which is not in the allowed options list. The allowed options are: [${v.options.join(", ")}]. The operation will be cancelled.`), null) : b;
|
|
9596
9596
|
} }, e.ext.recurring.confirm = e.ext.recurring.confirmDefault, e._isFollowing = function(v) {
|
|
9597
|
-
let
|
|
9598
|
-
return !(!
|
|
9597
|
+
let x = e.getEvent(v);
|
|
9598
|
+
return !(!x || !x._thisAndFollowing);
|
|
9599
9599
|
}, e._isFirstOccurrence = function(v) {
|
|
9600
9600
|
if (e._is_virtual_event(v.id)) {
|
|
9601
|
-
let
|
|
9602
|
-
return e.getEvent(
|
|
9601
|
+
let x = v.id.split("#")[0];
|
|
9602
|
+
return e.getEvent(x).start_date.valueOf() === v.start_date.valueOf();
|
|
9603
9603
|
}
|
|
9604
9604
|
}, e._isExceptionFirstOccurrence = function(v) {
|
|
9605
9605
|
if (e._is_modified_occurrence(v)) {
|
|
9606
|
-
let
|
|
9607
|
-
return !(!v.original_start || !v.original_start.valueOf() || v.original_start.valueOf() !==
|
|
9608
|
-
}
|
|
9609
|
-
}, e._rec_temp = [], e._rec_markers_pull = {}, e._rec_markers = {}, e._add_rec_marker = function(v,
|
|
9610
|
-
v._pid_time =
|
|
9611
|
-
}, e._get_rec_marker = function(v,
|
|
9612
|
-
let
|
|
9613
|
-
return
|
|
9606
|
+
let x = v.recurring_event_id, b = e.getEvent(x);
|
|
9607
|
+
return !(!v.original_start || !v.original_start.valueOf() || v.original_start.valueOf() !== b.start_date.valueOf());
|
|
9608
|
+
}
|
|
9609
|
+
}, e._rec_temp = [], e._rec_markers_pull = {}, e._rec_markers = {}, e._add_rec_marker = function(v, x) {
|
|
9610
|
+
v._pid_time = x, this._rec_markers[v.id] = v, this._rec_markers_pull[v.event_pid] || (this._rec_markers_pull[v.event_pid] = {}), this._rec_markers_pull[v.event_pid][x] = v;
|
|
9611
|
+
}, e._get_rec_marker = function(v, x) {
|
|
9612
|
+
let b = this._rec_markers_pull[x];
|
|
9613
|
+
return b ? b[v] : null;
|
|
9614
9614
|
}, e._get_rec_markers = function(v) {
|
|
9615
9615
|
return this._rec_markers_pull[v] || [];
|
|
9616
9616
|
}, function() {
|
|
9617
9617
|
let v = e.addEvent;
|
|
9618
|
-
e.addEvent = function(
|
|
9618
|
+
e.addEvent = function(x, b, E, S, T) {
|
|
9619
9619
|
const A = v.apply(this, arguments);
|
|
9620
9620
|
if (A && e.getEvent(A)) {
|
|
9621
9621
|
const C = e.getEvent(A);
|
|
@@ -9625,45 +9625,45 @@ const Fa = { active_links: function(e) {
|
|
|
9625
9625
|
};
|
|
9626
9626
|
}(), e.attachEvent("onEventLoading", function(v) {
|
|
9627
9627
|
return v.original_start && !v.original_start.getFullYear && (v.original_start = e.templates.parse_date(v.original_start)), !0;
|
|
9628
|
-
}), e.attachEvent("onEventIdChange", function(v,
|
|
9628
|
+
}), e.attachEvent("onEventIdChange", function(v, x) {
|
|
9629
9629
|
if (this._ignore_call)
|
|
9630
9630
|
return;
|
|
9631
|
-
this._ignore_call = !0, e._rec_markers[v] && (e._rec_markers[
|
|
9631
|
+
this._ignore_call = !0, e._rec_markers[v] && (e._rec_markers[x] = e._rec_markers[v], delete e._rec_markers[v]), e._rec_markers_pull[v] && (e._rec_markers_pull[x] = e._rec_markers_pull[v], delete e._rec_markers_pull[v]);
|
|
9632
9632
|
for (let E = 0; E < this._rec_temp.length; E++) {
|
|
9633
9633
|
let S = this._rec_temp[E];
|
|
9634
|
-
this._is_virtual_event(S.id) && S.id.split("#")[0] == v && (S.recurring_event_id =
|
|
9634
|
+
this._is_virtual_event(S.id) && S.id.split("#")[0] == v && (S.recurring_event_id = x, this.changeEventId(S.id, x + "#" + S.id.split("#")[1]));
|
|
9635
9635
|
}
|
|
9636
9636
|
for (let E in this._rec_markers) {
|
|
9637
9637
|
let S = this._rec_markers[E];
|
|
9638
|
-
S.recurring_event_id == v && (S.recurring_event_id =
|
|
9638
|
+
S.recurring_event_id == v && (S.recurring_event_id = x, S._pid_changed = !0);
|
|
9639
9639
|
}
|
|
9640
|
-
let
|
|
9641
|
-
|
|
9640
|
+
let b = e._rec_markers[x];
|
|
9641
|
+
b && b._pid_changed && (delete b._pid_changed, setTimeout(function() {
|
|
9642
9642
|
if (e.$destroyed)
|
|
9643
9643
|
return !0;
|
|
9644
|
-
e.callEvent("onEventChanged", [
|
|
9644
|
+
e.callEvent("onEventChanged", [x, e.getEvent(x)]);
|
|
9645
9645
|
}, 1)), delete this._ignore_call;
|
|
9646
9646
|
}), e.attachEvent("onConfirmedBeforeEventDelete", function(v) {
|
|
9647
|
-
const
|
|
9648
|
-
if (this._is_virtual_event(v) || this._is_modified_occurrence(
|
|
9649
|
-
return !!
|
|
9650
|
-
}(
|
|
9651
|
-
p(v,
|
|
9647
|
+
const x = this.getEvent(v);
|
|
9648
|
+
if (this._is_virtual_event(v) || this._is_modified_occurrence(x) && !function(b) {
|
|
9649
|
+
return !!b.deleted;
|
|
9650
|
+
}(x))
|
|
9651
|
+
p(v, x);
|
|
9652
9652
|
else {
|
|
9653
|
-
n(
|
|
9654
|
-
const
|
|
9655
|
-
for (let E in
|
|
9656
|
-
|
|
9653
|
+
n(x) && this._lightbox_id && this._roll_back_dates(x);
|
|
9654
|
+
const b = this._get_rec_markers(v);
|
|
9655
|
+
for (let E in b)
|
|
9656
|
+
b.hasOwnProperty(E) && (v = b[E].id, this.getEvent(v) && this.deleteEvent(v, !0));
|
|
9657
9657
|
}
|
|
9658
9658
|
return !0;
|
|
9659
|
-
}), e.attachEvent("onEventDeleted", function(v,
|
|
9660
|
-
!this._is_virtual_event(v) && this._is_modified_occurrence(
|
|
9661
|
-
}), e.attachEvent("onBeforeEventChanged", function(v,
|
|
9662
|
-
return !(!
|
|
9663
|
-
}), e.attachEvent("onEventChanged", function(v,
|
|
9659
|
+
}), e.attachEvent("onEventDeleted", function(v, x) {
|
|
9660
|
+
!this._is_virtual_event(v) && this._is_modified_occurrence(x) && (e._events[v] || (x.deleted = !0, this.setEvent(v, x), e.render()));
|
|
9661
|
+
}), e.attachEvent("onBeforeEventChanged", function(v, x, b, E) {
|
|
9662
|
+
return !(!b && v && (e._is_virtual_event(v.id) || e._is_modified_occurrence(v)) && (E.start_date.getDate() !== v.start_date.getDate() ? v._beforeEventChangedFlag = "edit" : v._beforeEventChangedFlag = "ask", !e.config.collision_limit || e.checkCollision(v))) || (e._events.$dnd_recurring_placeholder = e._lame_clone(v), e._showRequiredModalBox(v.id, v._beforeEventChangedFlag), !1);
|
|
9663
|
+
}), e.attachEvent("onEventChanged", function(v, x) {
|
|
9664
9664
|
if (this._loading)
|
|
9665
9665
|
return !0;
|
|
9666
|
-
let
|
|
9666
|
+
let b = this.getEvent(v);
|
|
9667
9667
|
if (this._is_virtual_event(v))
|
|
9668
9668
|
(function(E) {
|
|
9669
9669
|
let S = E.id.split("#"), T = e.uid();
|
|
@@ -9672,9 +9672,9 @@ const Fa = { active_links: function(e) {
|
|
|
9672
9672
|
A.id = T, A.recurring_event_id = S[0];
|
|
9673
9673
|
let C = S[1];
|
|
9674
9674
|
A.original_start = new Date(Number(C)), e._add_rec_marker(A, C), e.addEvent(A), e._not_render = !1;
|
|
9675
|
-
})(
|
|
9675
|
+
})(b);
|
|
9676
9676
|
else {
|
|
9677
|
-
|
|
9677
|
+
b.start_date && (b.start_date = t(b.start_date)), b.end_date && (b.end_date = t(b.end_date)), n(b) && this._lightbox_id && (b._removeFollowing || this._isFollowing(v) ? b._removeFollowing = null : this._roll_back_dates(b));
|
|
9678
9678
|
const E = this._get_rec_markers(v);
|
|
9679
9679
|
for (let T in E)
|
|
9680
9680
|
E.hasOwnProperty(T) && (delete this._rec_markers[E[T].id], this.deleteEvent(E[T].id, !0));
|
|
@@ -9687,13 +9687,13 @@ const Fa = { active_links: function(e) {
|
|
|
9687
9687
|
return m(), !0;
|
|
9688
9688
|
}), e.attachEvent("onEventAdded", function(v) {
|
|
9689
9689
|
if (!this._loading) {
|
|
9690
|
-
const
|
|
9691
|
-
n(
|
|
9690
|
+
const x = this.getEvent(v);
|
|
9691
|
+
n(x) && this._roll_back_dates(x);
|
|
9692
9692
|
}
|
|
9693
9693
|
return !0;
|
|
9694
|
-
}), e.attachEvent("onRecurringEventSave", function(v,
|
|
9695
|
-
let E = this.getEvent(v), S = e._lame_clone(E), T = e._lame_clone(
|
|
9696
|
-
if (E && n(E) && !
|
|
9694
|
+
}), e.attachEvent("onRecurringEventSave", function(v, x, b) {
|
|
9695
|
+
let E = this.getEvent(v), S = e._lame_clone(E), T = e._lame_clone(x);
|
|
9696
|
+
if (E && n(E) && !b && this._isFollowing(v)) {
|
|
9697
9697
|
if (E._removeFollowing) {
|
|
9698
9698
|
if (e.getEvent(E._thisAndFollowing) && (E._firstOccurrence || E._modified))
|
|
9699
9699
|
return e.hideLightbox(), e.deleteEvent(E.id), !1;
|
|
@@ -9708,35 +9708,35 @@ const Fa = { active_links: function(e) {
|
|
|
9708
9708
|
let A = e.getEvent(E._thisAndFollowing);
|
|
9709
9709
|
if (A && E._firstOccurrence)
|
|
9710
9710
|
for (const C in e._events)
|
|
9711
|
-
e._events[C].id == E.id && d(C,
|
|
9711
|
+
e._events[C].id == E.id && d(C, x, E, S);
|
|
9712
9712
|
else if (A && E._modified)
|
|
9713
9713
|
for (const C in e._events) {
|
|
9714
9714
|
let $ = e._events[C];
|
|
9715
|
-
$.recurring_event_id == v && $.id == S._thisAndFollowing && d(C,
|
|
9715
|
+
$.recurring_event_id == v && $.id == S._thisAndFollowing && d(C, x, E, S);
|
|
9716
9716
|
}
|
|
9717
9717
|
else {
|
|
9718
9718
|
e._is_modified_occurrence(A) && l(A), E.end_date = E._shorten_end_date, E._end_date = E._shorten_end_date, E.start_date = E._start_date, E._shorten = !0, o(E), e.callEvent("onEventChanged", [E.id, E]);
|
|
9719
9719
|
let C = { ...T };
|
|
9720
9720
|
C._end_date = S._end_date, C._start_date = null, C.id = e.uid(), e.addEvent(C.start_date, C.end_date, C.text, C.id, C);
|
|
9721
9721
|
}
|
|
9722
|
-
return
|
|
9722
|
+
return b || h(v, x), e.hideLightbox(), !1;
|
|
9723
9723
|
}
|
|
9724
9724
|
}
|
|
9725
|
-
return
|
|
9725
|
+
return b || h(v, x), S._ocr && S._beforeEventChangedFlag ? (E.start_date = S.start_date, E.end_date = S.end_date, E._start_date = S._start_date, E._end_date = S._end_date, e.updateEvent(E.id), !0) : (this._select_id = null, m(), !0);
|
|
9726
9726
|
}), e.attachEvent("onEventCreated", function(v) {
|
|
9727
|
-
const
|
|
9728
|
-
return n(
|
|
9729
|
-
|
|
9730
|
-
}(
|
|
9727
|
+
const x = this.getEvent(v);
|
|
9728
|
+
return n(x) || function(b) {
|
|
9729
|
+
b.rrule = "", b.original_start = null, b.recurring_event_id = null, b.duration = null, b.deleted = null;
|
|
9730
|
+
}(x), !0;
|
|
9731
9731
|
}), e.attachEvent("onEventCancel", function(v) {
|
|
9732
|
-
const
|
|
9733
|
-
n(
|
|
9732
|
+
const x = this.getEvent(v);
|
|
9733
|
+
n(x) && (this._roll_back_dates(x), this.render_view_data()), m();
|
|
9734
9734
|
}), e.attachEvent("onLightbox", function(v) {
|
|
9735
|
-
const
|
|
9736
|
-
if (e._is_virtual_event(
|
|
9737
|
-
const
|
|
9738
|
-
if (
|
|
9739
|
-
const E =
|
|
9735
|
+
const x = e.getEvent(v);
|
|
9736
|
+
if (e._is_virtual_event(x.id)) {
|
|
9737
|
+
const b = e.formSection("recurring");
|
|
9738
|
+
if (b && b.node) {
|
|
9739
|
+
const E = b.node.querySelector("select");
|
|
9740
9740
|
E && (E.disabled = !0);
|
|
9741
9741
|
}
|
|
9742
9742
|
}
|
|
@@ -9747,8 +9747,8 @@ const Fa = { active_links: function(e) {
|
|
|
9747
9747
|
}, e._is_modified_occurrence = function(v) {
|
|
9748
9748
|
return v.recurring_event_id && v.recurring_event_id != "0";
|
|
9749
9749
|
}, e.showLightbox_rec = e.showLightbox, e.showLightbox = function(v) {
|
|
9750
|
-
const
|
|
9751
|
-
let
|
|
9750
|
+
const x = this.locale;
|
|
9751
|
+
let b = e.config.lightbox_recurring, E = this.getEvent(v), S = E.recurring_event_id, T = this._is_virtual_event(v);
|
|
9752
9752
|
T && (S = v.split("#")[0]);
|
|
9753
9753
|
const A = function(C, $) {
|
|
9754
9754
|
const H = e.getEvent(C), O = e.getEvent(S), R = e.getView();
|
|
@@ -9772,9 +9772,9 @@ const Fa = { active_links: function(e) {
|
|
|
9772
9772
|
};
|
|
9773
9773
|
if ((S || 1 * S == 0) && n(E))
|
|
9774
9774
|
return A(v, "AllEvents");
|
|
9775
|
-
if (!S || S === "0" || !
|
|
9775
|
+
if (!S || S === "0" || !x.labels.confirm_recurring || b == "instance" || b == "series" && !T)
|
|
9776
9776
|
return this.showLightbox_rec(v);
|
|
9777
|
-
|
|
9777
|
+
b === "ask" && async function(C, $) {
|
|
9778
9778
|
const H = e.locale, O = e.getEvent(C), R = e.getEvent($), P = { origin: "lightbox", occurrence: O, series: R, labels: { title: H.labels.confirm_recurring, ok: H.labels.message_ok, cancel: H.labels.message_cancel, occurrence: H.labels.button_edit_occurrence, following: H.labels.button_edit_occurrence_and_following, series: H.labels.button_edit_series }, options: ["occurrence", "following", "series"] }, j = await e.ext.recurring._getDecision(P);
|
|
9779
9779
|
if (j !== null) {
|
|
9780
9780
|
if (j === "occurrence")
|
|
@@ -9784,16 +9784,16 @@ const Fa = { active_links: function(e) {
|
|
|
9784
9784
|
j === "series" && A(C, "AllEvents");
|
|
9785
9785
|
}
|
|
9786
9786
|
}(v, S);
|
|
9787
|
-
}, e._showRequiredModalBox = function(v,
|
|
9788
|
-
let
|
|
9787
|
+
}, e._showRequiredModalBox = function(v, x) {
|
|
9788
|
+
let b;
|
|
9789
9789
|
const E = e.locale;
|
|
9790
9790
|
let S = e.getEvent(v), T = S.recurring_event_id;
|
|
9791
9791
|
e._is_virtual_event(S.id) && (T = S.id.split("#")[0]);
|
|
9792
9792
|
let A = e.getEvent(T);
|
|
9793
9793
|
const C = e.getView();
|
|
9794
9794
|
let $, H, O = e._lame_clone(A);
|
|
9795
|
-
C && S[C.y_property] && (O[C.y_property] = S[C.y_property]), C && S[C.property] && (O[C.property] = S[C.property]), S && S._beforeEventChangedFlag && ($ = S.start_date, H = S.end_date),
|
|
9796
|
-
const R = { origin: "dnd", occurrence: S, series: A, labels: { title: E.labels.confirm_recurring, ok: E.labels.message_ok, cancel: E.labels.message_cancel, occurrence: E.labels.button_edit_occurrence, following: E.labels.button_edit_occurrence_and_following, series: E.labels.button_edit_series }, options:
|
|
9795
|
+
C && S[C.y_property] && (O[C.y_property] = S[C.y_property]), C && S[C.property] && (O[C.property] = S[C.property]), S && S._beforeEventChangedFlag && ($ = S.start_date, H = S.end_date), b = x === "ask" ? ["occurrence", "following", "series"] : ["occurrence", "following"];
|
|
9796
|
+
const R = { origin: "dnd", occurrence: S, series: A, labels: { title: E.labels.confirm_recurring, ok: E.labels.message_ok, cancel: E.labels.message_cancel, occurrence: E.labels.button_edit_occurrence, following: E.labels.button_edit_occurrence_and_following, series: E.labels.button_edit_series }, options: b };
|
|
9797
9797
|
Promise.resolve(e.ext.recurring._getDecision(R)).then((P) => {
|
|
9798
9798
|
if (P)
|
|
9799
9799
|
switch (P) {
|
|
@@ -9845,10 +9845,10 @@ const Fa = { active_links: function(e) {
|
|
|
9845
9845
|
for (let S = 0; S < this._rec_temp.length; S++)
|
|
9846
9846
|
delete this._events[this._rec_temp[S].id];
|
|
9847
9847
|
this._rec_temp = [];
|
|
9848
|
-
const
|
|
9849
|
-
let
|
|
9850
|
-
for (let S = 0; S <
|
|
9851
|
-
|
|
9848
|
+
const x = g();
|
|
9849
|
+
let b = this.get_visible_events_rec(v), E = [];
|
|
9850
|
+
for (let S = 0; S < b.length; S++)
|
|
9851
|
+
b[S].deleted || b[S].recurring_event_id || (n(b[S]) ? this.repeat_date(b[S], E, void 0, void 0, void 0, void 0, x) : E.push(b[S]));
|
|
9852
9852
|
return function(S) {
|
|
9853
9853
|
const T = {};
|
|
9854
9854
|
return S.forEach((A) => {
|
|
@@ -9858,21 +9858,21 @@ const Fa = { active_links: function(e) {
|
|
|
9858
9858
|
}(E);
|
|
9859
9859
|
}, function() {
|
|
9860
9860
|
let v = e.isOneDayEvent;
|
|
9861
|
-
e.isOneDayEvent = function(
|
|
9862
|
-
return !!n(
|
|
9861
|
+
e.isOneDayEvent = function(b) {
|
|
9862
|
+
return !!n(b) || v.call(this, b);
|
|
9863
9863
|
};
|
|
9864
|
-
const
|
|
9865
|
-
e.updateEvent = function(
|
|
9866
|
-
const E = e.getEvent(
|
|
9867
|
-
E && n(E) && !this._is_virtual_event(
|
|
9864
|
+
const x = e.updateEvent;
|
|
9865
|
+
e.updateEvent = function(b) {
|
|
9866
|
+
const E = e.getEvent(b);
|
|
9867
|
+
E && n(E) && !this._is_virtual_event(b) ? e.update_view() : x.call(this, b);
|
|
9868
9868
|
};
|
|
9869
9869
|
}();
|
|
9870
9870
|
const c = e.date.date_to_str("%Y%m%dT%H%i%s");
|
|
9871
9871
|
function u(v) {
|
|
9872
|
-
const
|
|
9873
|
-
return { dayOfWeek:
|
|
9872
|
+
const x = v.getDay(), b = v.getDate();
|
|
9873
|
+
return { dayOfWeek: x, dayNumber: Math.ceil(b / 7) };
|
|
9874
9874
|
}
|
|
9875
|
-
e.repeat_date = function(v,
|
|
9875
|
+
e.repeat_date = function(v, x, b, E, S, T, A) {
|
|
9876
9876
|
if (!v.rrule)
|
|
9877
9877
|
return;
|
|
9878
9878
|
let C = A ? A[v.id] : g()[v.id];
|
|
@@ -9892,12 +9892,12 @@ const Fa = { active_links: function(e) {
|
|
|
9892
9892
|
if (U) {
|
|
9893
9893
|
if (U.deleted || U.end_date.valueOf() < e._min_date.valueOf() || !e.filter_event(U.id, U))
|
|
9894
9894
|
continue;
|
|
9895
|
-
R++,
|
|
9895
|
+
R++, x.push(U);
|
|
9896
9896
|
} else {
|
|
9897
9897
|
const B = e._copy_event(v);
|
|
9898
9898
|
if (B.text = v.text, B.start_date = I, B.id = v.id + "#" + Math.ceil(I.valueOf()), B.end_date = new Date(I.valueOf() + 1e3 * P), B.end_date.valueOf() <= e._min_date.valueOf() || (B.end_date = e._fix_daylight_saving_date(B.start_date, B.end_date, v, I, B.end_date), B._timed = e.isOneDayEvent(B), !B._timed && !e._table_view && !e.config.multi_day))
|
|
9899
9899
|
continue;
|
|
9900
|
-
|
|
9900
|
+
x.push(B), b || (e._events[B.id] = B, e._rec_temp.push(B)), R++;
|
|
9901
9901
|
}
|
|
9902
9902
|
}
|
|
9903
9903
|
if (C && O.length == 0)
|
|
@@ -9906,51 +9906,51 @@ const Fa = { active_links: function(e) {
|
|
|
9906
9906
|
if (I) {
|
|
9907
9907
|
if (I.deleted || I.end_date.valueOf() < e._min_date.valueOf() || !e.filter_event(I.id, I))
|
|
9908
9908
|
continue;
|
|
9909
|
-
E && S && I.start_date < S && I.end_date > E &&
|
|
9909
|
+
E && S && I.start_date < S && I.end_date > E && x.push(I);
|
|
9910
9910
|
}
|
|
9911
9911
|
}
|
|
9912
|
-
}, e._fix_daylight_saving_date = function(v,
|
|
9913
|
-
let T = v.getTimezoneOffset() -
|
|
9914
|
-
return T ? T > 0 ? new Date(E.valueOf() + 1e3 *
|
|
9915
|
-
}, e.getRecDates = function(v,
|
|
9916
|
-
let
|
|
9917
|
-
if (
|
|
9918
|
-
return [{ start_date:
|
|
9919
|
-
if (
|
|
9912
|
+
}, e._fix_daylight_saving_date = function(v, x, b, E, S) {
|
|
9913
|
+
let T = v.getTimezoneOffset() - x.getTimezoneOffset();
|
|
9914
|
+
return T ? T > 0 ? new Date(E.valueOf() + 1e3 * b.duration - 60 * T * 1e3) : new Date(x.valueOf() - 60 * T * 1e3) : new Date(S.valueOf());
|
|
9915
|
+
}, e.getRecDates = function(v, x) {
|
|
9916
|
+
let b = typeof v == "object" ? v : e.getEvent(v), E = [];
|
|
9917
|
+
if (x = x || 100, !n(b))
|
|
9918
|
+
return [{ start_date: b.start_date, end_date: b.end_date }];
|
|
9919
|
+
if (b.deleted)
|
|
9920
9920
|
return [];
|
|
9921
|
-
e.repeat_date(
|
|
9921
|
+
e.repeat_date(b, E, !0, b.start_date, b.end_date, x);
|
|
9922
9922
|
let S = [];
|
|
9923
9923
|
for (let T = 0; T < E.length; T++)
|
|
9924
9924
|
E[T].deleted || S.push({ start_date: E[T].start_date, end_date: E[T].end_date });
|
|
9925
9925
|
return S;
|
|
9926
|
-
}, e.getEvents = function(v,
|
|
9927
|
-
let
|
|
9926
|
+
}, e.getEvents = function(v, x) {
|
|
9927
|
+
let b = [];
|
|
9928
9928
|
const E = g();
|
|
9929
9929
|
for (let S in this._events) {
|
|
9930
9930
|
let T = this._events[S];
|
|
9931
9931
|
if (!T.recurring_event_id)
|
|
9932
|
-
if (v &&
|
|
9932
|
+
if (v && x && T.start_date < x && T.end_date > v)
|
|
9933
9933
|
if (n(T)) {
|
|
9934
9934
|
let A = [];
|
|
9935
|
-
this.repeat_date(T, A, !0, v,
|
|
9936
|
-
C.start_date <
|
|
9935
|
+
this.repeat_date(T, A, !0, v, x, void 0, E), A.forEach(function(C) {
|
|
9936
|
+
C.start_date < x && C.end_date > v && b.push(C);
|
|
9937
9937
|
});
|
|
9938
9938
|
} else
|
|
9939
|
-
this._is_virtual_event(T.id) ||
|
|
9939
|
+
this._is_virtual_event(T.id) || b.push(T);
|
|
9940
9940
|
else
|
|
9941
|
-
v ||
|
|
9941
|
+
v || x || this._is_virtual_event(T.id) || b.push(T);
|
|
9942
9942
|
}
|
|
9943
|
-
return
|
|
9943
|
+
return b;
|
|
9944
9944
|
}, e._copy_dummy = function(v) {
|
|
9945
|
-
const
|
|
9946
|
-
this.start_date =
|
|
9945
|
+
const x = new Date(this.start_date), b = new Date(this.end_date);
|
|
9946
|
+
this.start_date = x, this.end_date = b, this.duration = this.rrule = null;
|
|
9947
9947
|
}, e.config.include_end_by = !1, e.config.lightbox_recurring = "ask", e.config.recurring_workdays = [z.MO.weekday, z.TU.weekday, z.WE.weekday, z.TH.weekday, z.FR.weekday], e.config.repeat_date = "%m.%d.%Y", e.config.lightbox.sections = [{ name: "description", map_to: "text", type: "textarea", focus: !0 }, { name: "recurring", type: "recurring", map_to: "rrule" }, { name: "time", height: 72, type: "time", map_to: "auto" }], e.attachEvent("onClearAll", function() {
|
|
9948
9948
|
e._rec_markers = {}, e._rec_markers_pull = {}, e._rec_temp = [];
|
|
9949
9949
|
});
|
|
9950
9950
|
const f = { 0: "SU", 1: "MO", 2: "TU", 3: "WE", 4: "TH", 5: "FR", 6: "SA" }, y = { 0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0 };
|
|
9951
|
-
function w(v,
|
|
9952
|
-
const
|
|
9953
|
-
|
|
9951
|
+
function w(v, x) {
|
|
9952
|
+
const b = v.querySelector("[name='repeat_interval_value']");
|
|
9953
|
+
b && (b.value = (x ? x.interval : 1) || 1);
|
|
9954
9954
|
}
|
|
9955
9955
|
function D(v) {
|
|
9956
9956
|
switch (v) {
|
|
@@ -9965,40 +9965,40 @@ const Fa = { active_links: function(e) {
|
|
|
9965
9965
|
return `${v}th`;
|
|
9966
9966
|
}
|
|
9967
9967
|
}
|
|
9968
|
-
e.templates.repeat_monthly_date = function(v,
|
|
9968
|
+
e.templates.repeat_monthly_date = function(v, x) {
|
|
9969
9969
|
return `Every ${D(v.getDate())}`;
|
|
9970
|
-
}, e.templates.repeat_monthly_weekday = function(v,
|
|
9971
|
-
const
|
|
9972
|
-
return `Every ${D(
|
|
9973
|
-
}, e.templates.repeat_yearly_month_date = function(v,
|
|
9974
|
-
const
|
|
9975
|
-
return `Every ${D(
|
|
9976
|
-
}, e.templates.repeat_yearly_month_weekday = function(v,
|
|
9977
|
-
const
|
|
9978
|
-
return `Every ${D(
|
|
9970
|
+
}, e.templates.repeat_monthly_weekday = function(v, x) {
|
|
9971
|
+
const b = u(v);
|
|
9972
|
+
return `Every ${D(b.dayNumber)} ${e.locale.date.day_full[b.dayOfWeek]}`;
|
|
9973
|
+
}, e.templates.repeat_yearly_month_date = function(v, x) {
|
|
9974
|
+
const b = v.getDate(), E = e.locale.date.month_full[v.getMonth()];
|
|
9975
|
+
return `Every ${D(b)} day of ${E}`;
|
|
9976
|
+
}, e.templates.repeat_yearly_month_weekday = function(v, x) {
|
|
9977
|
+
const b = u(v), E = e.locale.date.month_full[v.getMonth()];
|
|
9978
|
+
return `Every ${D(b.dayNumber)} ${e.locale.date.day_full[b.dayOfWeek]} of ${E}`;
|
|
9979
9979
|
};
|
|
9980
9980
|
const M = { MONTHLY: function(v) {
|
|
9981
9981
|
return { rrule: { freq: z.MONTHLY, interval: 1, bymonthday: v.start.getDate() }, until: new Date(9999, 1, 1) };
|
|
9982
9982
|
}, WEEKLY: function(v) {
|
|
9983
|
-
let
|
|
9984
|
-
return
|
|
9983
|
+
let x = v.start.getDay() - 1;
|
|
9984
|
+
return x == -1 && (x = 6), { rrule: { freq: z.WEEKLY, interval: 1, byweekday: [x] }, until: new Date(9999, 1, 1) };
|
|
9985
9985
|
}, DAILY: function(v) {
|
|
9986
9986
|
return { rrule: { freq: z.DAILY, interval: 1 }, until: new Date(9999, 1, 1) };
|
|
9987
9987
|
}, YEARLY: function(v) {
|
|
9988
9988
|
return { rrule: { freq: z.YEARLY, bymonth: v.start.getMonth() + 1, interval: 1, bymonthday: v.start.getDate() }, until: new Date(9999, 1, 1) };
|
|
9989
9989
|
}, WORKDAYS: function(v) {
|
|
9990
9990
|
return { rrule: { freq: z.WEEKLY, interval: 1, byweekday: e.config.recurring_workdays }, until: new Date(9999, 1, 1) };
|
|
9991
|
-
}, CUSTOM: function(v,
|
|
9992
|
-
const
|
|
9991
|
+
}, CUSTOM: function(v, x) {
|
|
9992
|
+
const b = {}, E = x.querySelector('[name="repeat_interval_unit"]').value, S = Math.max(1, x.querySelector('[name="repeat_interval_value"]').value), T = x.querySelector('[name="dhx_custom_month_option"]') ? x.querySelector('[name="dhx_custom_month_option"]').value : null, A = x.querySelector('[name="dhx_custom_year_option"]') ? x.querySelector('[name="dhx_custom_year_option"]').value : null;
|
|
9993
9993
|
let C, $;
|
|
9994
|
-
switch (
|
|
9994
|
+
switch (b.interval = S, E) {
|
|
9995
9995
|
case "DAILY":
|
|
9996
|
-
|
|
9996
|
+
b.freq = z.DAILY;
|
|
9997
9997
|
break;
|
|
9998
9998
|
case "WEEKLY":
|
|
9999
|
-
|
|
9999
|
+
b.freq = z.WEEKLY, C = [], x.querySelectorAll('.dhx_form_repeat_custom_week [name="week_day"]').forEach((P) => {
|
|
10000
10000
|
P.checked && C.push(P.value);
|
|
10001
|
-
}),
|
|
10001
|
+
}), b.byweekday = C.map((P) => {
|
|
10002
10002
|
switch (P) {
|
|
10003
10003
|
case "MO":
|
|
10004
10004
|
return z.MO.weekday;
|
|
@@ -10018,21 +10018,21 @@ const Fa = { active_links: function(e) {
|
|
|
10018
10018
|
});
|
|
10019
10019
|
break;
|
|
10020
10020
|
case "MONTHLY":
|
|
10021
|
-
|
|
10021
|
+
b.freq = z.MONTHLY, T === "month_date" ? b.bymonthday = v.start.getDate() : ($ = v.start.getDay() - 1, $ == -1 && ($ = 6), b.byweekday = [$], b.bysetpos = u(v.start).dayNumber);
|
|
10022
10022
|
break;
|
|
10023
10023
|
case "YEARLY":
|
|
10024
|
-
|
|
10024
|
+
b.freq = z.YEARLY, b.bymonth = v.start.getMonth() + 1, A == "month_date" ? b.bymonthday = v.start.getDate() : ($ = v.start.getDay() - 1, $ == -1 && ($ = 6), b.byweekday = [$], b.bysetpos = u(v.start).dayNumber);
|
|
10025
10025
|
}
|
|
10026
10026
|
const H = e.date.str_to_date("%Y-%m-%d");
|
|
10027
10027
|
let O = new Date(9999, 1, 1);
|
|
10028
|
-
const R =
|
|
10029
|
-
return R && R.value === "ON" ? (O = H(
|
|
10028
|
+
const R = x.querySelector('[name="dhx_custom_repeat_ends"]');
|
|
10029
|
+
return R && R.value === "ON" ? (O = H(x.querySelector('[name="dhx_form_repeat_ends_ondate"]').value), b.until = new Date(O)) : R && R.value === "AFTER" && (b.count = Math.max(1, x.querySelector('[name="dhx_form_repeat_ends_after"]').value)), { rrule: b, until: O };
|
|
10030
10030
|
}, NEVER: function() {
|
|
10031
10031
|
} };
|
|
10032
|
-
function k(v,
|
|
10032
|
+
function k(v, x, b) {
|
|
10033
10033
|
(function(E, S) {
|
|
10034
10034
|
w(E, S);
|
|
10035
|
-
})(v,
|
|
10035
|
+
})(v, x), function(E, S, T) {
|
|
10036
10036
|
if (w(E, S), E.querySelectorAll(".dhx_form_repeat_custom_week input").forEach((A) => A.checked = !1), S && S.byweekday)
|
|
10037
10037
|
S.byweekday.forEach((A) => {
|
|
10038
10038
|
const C = y[A.weekday], $ = f[C], H = E.querySelector(`.dhx_form_repeat_custom_week input[value="${$}"]`);
|
|
@@ -10042,7 +10042,7 @@ const Fa = { active_links: function(e) {
|
|
|
10042
10042
|
const A = f[T.start_date.getDay()], C = E.querySelector(`.dhx_form_repeat_custom_week input[value="${A}"]`);
|
|
10043
10043
|
C && (C.checked = !0);
|
|
10044
10044
|
}
|
|
10045
|
-
}(v,
|
|
10045
|
+
}(v, x, b), function(E, S, T) {
|
|
10046
10046
|
w(E, S);
|
|
10047
10047
|
const A = E.querySelector('.dhx_form_repeat_custom_month [value="month_date"]'), C = E.querySelector('.dhx_form_repeat_custom_month [value="month_nth_weekday"]');
|
|
10048
10048
|
if (A && C) {
|
|
@@ -10050,75 +10050,75 @@ const Fa = { active_links: function(e) {
|
|
|
10050
10050
|
const $ = E.querySelector('[name="dhx_custom_month_option"]');
|
|
10051
10051
|
$ && ($.value = !S || !S.bysetpos || S.byweekday && S.byweekday.length ? "month_nth_weekday" : "month_date");
|
|
10052
10052
|
}
|
|
10053
|
-
}(v,
|
|
10053
|
+
}(v, x, b), function(E, S, T) {
|
|
10054
10054
|
const A = E.querySelector('.dhx_form_repeat_custom_year [value="month_date"]'), C = E.querySelector('.dhx_form_repeat_custom_year [value="month_nth_weekday"]');
|
|
10055
10055
|
A && C && (A.innerText = e.templates.repeat_yearly_month_date(T.start_date, T), C.innerText = e.templates.repeat_yearly_month_weekday(T.start_date, T), S && (!S.bysetpos || S.byweekday && S.byweekday.length) ? E.querySelector('[name="dhx_custom_year_option"]').value = "month_nth_weekday" : E.querySelector('[name="dhx_custom_year_option"]').value = "month_date");
|
|
10056
|
-
}(v,
|
|
10056
|
+
}(v, x, b), function(E, S, T) {
|
|
10057
10057
|
const A = E.querySelector('.dhx_form_repeat_ends_extra [name="dhx_form_repeat_ends_after"]'), C = E.querySelector('.dhx_form_repeat_ends_extra [name="dhx_form_repeat_ends_ondate"]'), $ = E.querySelector("[name='dhx_custom_repeat_ends']");
|
|
10058
10058
|
if (A && C && $) {
|
|
10059
10059
|
A.value = 1;
|
|
10060
10060
|
let H = e.date.date_to_str("%Y-%m-%d");
|
|
10061
10061
|
e.config.repeat_date_of_end || (e.config.repeat_date_of_end = H(e.date.add(e._currentDate(), 30, "day"))), C.value = e.config.repeat_date_of_end, S && S.count ? ($.value = "AFTER", A.value = S.count) : T._end_date && T._end_date.getFullYear() !== 9999 ? ($.value = "ON", C.value = H(T._end_date)) : $.value = "NEVER", $.dispatchEvent(new Event("change"));
|
|
10062
10062
|
}
|
|
10063
|
-
}(v,
|
|
10063
|
+
}(v, x, b);
|
|
10064
10064
|
}
|
|
10065
10065
|
function N(v) {
|
|
10066
|
-
for (let
|
|
10067
|
-
let
|
|
10068
|
-
if (
|
|
10069
|
-
return e.formSection(
|
|
10066
|
+
for (let x = 0; x < e.config.lightbox.sections.length; x++) {
|
|
10067
|
+
let b = e.config.lightbox.sections[x];
|
|
10068
|
+
if (b.type === v)
|
|
10069
|
+
return e.formSection(b.name);
|
|
10070
10070
|
}
|
|
10071
10071
|
return null;
|
|
10072
10072
|
}
|
|
10073
10073
|
e.form_blocks.recurring = { _get_node: function(v) {
|
|
10074
10074
|
if (typeof v == "string") {
|
|
10075
|
-
let
|
|
10076
|
-
|
|
10075
|
+
let x = e._lightbox.querySelector(`#${v}`);
|
|
10076
|
+
x || (x = document.getElementById(v)), v = x;
|
|
10077
10077
|
}
|
|
10078
10078
|
return v.style.display == "none" && (v.style.display = ""), v;
|
|
10079
10079
|
}, _outer_html: function(v) {
|
|
10080
|
-
return v.outerHTML || function(
|
|
10081
|
-
let
|
|
10082
|
-
return E.appendChild(
|
|
10080
|
+
return v.outerHTML || function(x) {
|
|
10081
|
+
let b, E = document.createElement("div");
|
|
10082
|
+
return E.appendChild(x.cloneNode(!0)), b = E.innerHTML, E = null, b;
|
|
10083
10083
|
}(v);
|
|
10084
10084
|
}, render: function(v) {
|
|
10085
10085
|
if (v.form) {
|
|
10086
|
-
let
|
|
10086
|
+
let b = e.form_blocks.recurring, E = b._get_node(v.form), S = b._outer_html(E);
|
|
10087
10087
|
return E.style.display = "none", S;
|
|
10088
10088
|
}
|
|
10089
|
-
let
|
|
10089
|
+
let x = e.locale.labels;
|
|
10090
10090
|
return `<div class="dhx_form_rrule">
|
|
10091
10091
|
<div class="dhx_form_repeat_pattern">
|
|
10092
10092
|
<select>
|
|
10093
|
-
<option value="NEVER">${
|
|
10094
|
-
<option value="DAILY">${
|
|
10095
|
-
<option value="WEEKLY">${
|
|
10096
|
-
<option value="MONTHLY">${
|
|
10097
|
-
<option value="YEARLY">${
|
|
10098
|
-
<option value="WORKDAYS">${
|
|
10099
|
-
<option value="CUSTOM">${
|
|
10093
|
+
<option value="NEVER">${x.repeat_never}</option>
|
|
10094
|
+
<option value="DAILY">${x.repeat_daily}</option>
|
|
10095
|
+
<option value="WEEKLY">${x.repeat_weekly}</option>
|
|
10096
|
+
<option value="MONTHLY">${x.repeat_monthly}</option>
|
|
10097
|
+
<option value="YEARLY">${x.repeat_yearly}</option>
|
|
10098
|
+
<option value="WORKDAYS">${x.repeat_workdays}</option>
|
|
10099
|
+
<option value="CUSTOM">${x.repeat_custom}</option>
|
|
10100
10100
|
</select>
|
|
10101
10101
|
</div>
|
|
10102
10102
|
<div class="dhx_form_repeat_custom dhx_hidden">
|
|
10103
10103
|
<div class="dhx_form_repeat_custom_interval">
|
|
10104
10104
|
<input name="repeat_interval_value" type="number" min="1">
|
|
10105
10105
|
<select name="repeat_interval_unit">
|
|
10106
|
-
<option value="DAILY">${
|
|
10107
|
-
<option value="WEEKLY">${
|
|
10108
|
-
<option value="MONTHLY">${
|
|
10109
|
-
<option value="YEARLY">${
|
|
10106
|
+
<option value="DAILY">${x.repeat_freq_day}</option>
|
|
10107
|
+
<option value="WEEKLY">${x.repeat_freq_week}</option>
|
|
10108
|
+
<option value="MONTHLY">${x.repeat_freq_month}</option>
|
|
10109
|
+
<option value="YEARLY">${x.repeat_freq_year}</option>
|
|
10110
10110
|
</select>
|
|
10111
10111
|
</div>
|
|
10112
10112
|
|
|
10113
10113
|
<div class="dhx_form_repeat_custom_additional">
|
|
10114
10114
|
<div class="dhx_form_repeat_custom_week dhx_hidden">
|
|
10115
|
-
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="MO" />${
|
|
10116
|
-
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="TU" />${
|
|
10117
|
-
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="WE" />${
|
|
10118
|
-
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="TH" />${
|
|
10119
|
-
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="FR" />${
|
|
10120
|
-
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="SA" />${
|
|
10121
|
-
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="SU" />${
|
|
10115
|
+
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="MO" />${x.day_for_recurring[1]}</label>
|
|
10116
|
+
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="TU" />${x.day_for_recurring[2]}</label>
|
|
10117
|
+
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="WE" />${x.day_for_recurring[3]}</label>
|
|
10118
|
+
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="TH" />${x.day_for_recurring[4]}</label>
|
|
10119
|
+
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="FR" />${x.day_for_recurring[5]}</label>
|
|
10120
|
+
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="SA" />${x.day_for_recurring[6]}</label>
|
|
10121
|
+
<label><input class="dhx_repeat_checkbox" type="checkbox" name="week_day" value="SU" />${x.day_for_recurring[0]}</label>
|
|
10122
10122
|
</div>
|
|
10123
10123
|
|
|
10124
10124
|
<div class="dhx_form_repeat_custom_month dhx_hidden">
|
|
@@ -10137,16 +10137,16 @@ const Fa = { active_links: function(e) {
|
|
|
10137
10137
|
</div>
|
|
10138
10138
|
|
|
10139
10139
|
<div class="dhx_form_repeat_ends">
|
|
10140
|
-
<div>${
|
|
10140
|
+
<div>${x.repeat_ends}</div>
|
|
10141
10141
|
<div class="dhx_form_repeat_ends_options">
|
|
10142
10142
|
<select name="dhx_custom_repeat_ends">
|
|
10143
|
-
<option value="NEVER">${
|
|
10144
|
-
<option value="AFTER">${
|
|
10145
|
-
<option value="ON">${
|
|
10143
|
+
<option value="NEVER">${x.repeat_never}</option>
|
|
10144
|
+
<option value="AFTER">${x.repeat_radio_end2}</option>
|
|
10145
|
+
<option value="ON">${x.repeat_on_date}</option>
|
|
10146
10146
|
</select>
|
|
10147
10147
|
<div class="dhx_form_repeat_ends_extra">
|
|
10148
10148
|
<div class="dhx_form_repeat_ends_after dhx_hidden">
|
|
10149
|
-
<label><input type="number" min="1" name="dhx_form_repeat_ends_after">${
|
|
10149
|
+
<label><input type="number" min="1" name="dhx_form_repeat_ends_after">${x.repeat_text_occurrences_count}</label>
|
|
10150
10150
|
</div>
|
|
10151
10151
|
<div class="dhx_form_repeat_ends_on dhx_hidden">
|
|
10152
10152
|
<input type="date" name="dhx_form_repeat_ends_ondate">
|
|
@@ -10157,14 +10157,14 @@ const Fa = { active_links: function(e) {
|
|
|
10157
10157
|
|
|
10158
10158
|
</div>
|
|
10159
10159
|
</div>`;
|
|
10160
|
-
}, _init_set_value: function(v,
|
|
10160
|
+
}, _init_set_value: function(v, x, b) {
|
|
10161
10161
|
function E($) {
|
|
10162
10162
|
$ && $.classList.add("dhx_hidden");
|
|
10163
10163
|
}
|
|
10164
10164
|
function S($) {
|
|
10165
10165
|
$ && $.classList.remove("dhx_hidden");
|
|
10166
10166
|
}
|
|
10167
|
-
e.form_blocks.recurring._ds = { start:
|
|
10167
|
+
e.form_blocks.recurring._ds = { start: b.start_date, end: b.end_date };
|
|
10168
10168
|
const T = v.querySelector(".dhx_form_repeat_pattern select");
|
|
10169
10169
|
T && T.addEventListener("change", function() {
|
|
10170
10170
|
(function($) {
|
|
@@ -10208,17 +10208,17 @@ const Fa = { active_links: function(e) {
|
|
|
10208
10208
|
})(this.value);
|
|
10209
10209
|
}), e._lightbox._rec_init_done = !0;
|
|
10210
10210
|
}, button_click: function() {
|
|
10211
|
-
}, set_value: function(v,
|
|
10211
|
+
}, set_value: function(v, x, b) {
|
|
10212
10212
|
let E = e.form_blocks.recurring;
|
|
10213
|
-
e._lightbox._rec_init_done || E._init_set_value(v,
|
|
10213
|
+
e._lightbox._rec_init_done || E._init_set_value(v, x, b), v.open = !b.rrule, v.blocked = this._is_modified_occurrence(b);
|
|
10214
10214
|
let S = E._ds;
|
|
10215
|
-
if (S.start =
|
|
10216
|
-
const A = ge(
|
|
10217
|
-
k(v, A.origOptions,
|
|
10215
|
+
if (S.start = b.start_date, S.end = b._end_date, b.rrule) {
|
|
10216
|
+
const A = ge(b.rrule);
|
|
10217
|
+
k(v, A.origOptions, b);
|
|
10218
10218
|
const C = function($, H) {
|
|
10219
10219
|
const O = $.options, R = O.until || H;
|
|
10220
10220
|
return O.count || R && R.getFullYear() !== 9999 ? "CUSTOM" : O.freq !== z.DAILY || O.interval !== 1 || O.byweekday ? O.freq !== z.WEEKLY || O.interval !== 1 || O.byweekday ? O.freq !== z.MONTHLY || O.interval !== 1 || O.bysetpos ? O.freq !== z.YEARLY || O.interval !== 1 || O.bysetpos ? O.freq === z.DAILY && O.byweekday && O.byweekday.length === e.config.recurring_workdays.length && O.byweekday.includes(z.MO) && O.byweekday.includes(z.TU) && O.byweekday.includes(z.WE) && O.byweekday.includes(z.TH) && O.byweekday.includes(z.FR) ? "WORKDAYS" : "CUSTOM" : "YEARLY" : "MONTHLY" : "WEEKLY" : "DAILY";
|
|
10221
|
-
}(A,
|
|
10221
|
+
}(A, b._end_date);
|
|
10222
10222
|
if (v.querySelector(".dhx_form_repeat_pattern select").value = C, C === "CUSTOM") {
|
|
10223
10223
|
let $;
|
|
10224
10224
|
switch (A.origOptions.freq) {
|
|
@@ -10237,16 +10237,16 @@ const Fa = { active_links: function(e) {
|
|
|
10237
10237
|
$ && (v.querySelector('[name="repeat_interval_unit"]').value = $, v.querySelector('[name="repeat_interval_unit"]').dispatchEvent(new Event("change")));
|
|
10238
10238
|
}
|
|
10239
10239
|
} else {
|
|
10240
|
-
k(v, null,
|
|
10240
|
+
k(v, null, b);
|
|
10241
10241
|
const A = v.querySelector(".dhx_form_repeat_pattern select");
|
|
10242
10242
|
A && (A.value = "NEVER");
|
|
10243
10243
|
}
|
|
10244
10244
|
const T = v.querySelector(".dhx_form_repeat_pattern select");
|
|
10245
10245
|
T && T.dispatchEvent(new Event("change"));
|
|
10246
|
-
}, get_value: function(v,
|
|
10247
|
-
const
|
|
10248
|
-
if (v.blocked ||
|
|
10249
|
-
|
|
10246
|
+
}, get_value: function(v, x) {
|
|
10247
|
+
const b = v.querySelector(".dhx_form_repeat_pattern select");
|
|
10248
|
+
if (v.blocked || b && b.value === "NEVER")
|
|
10249
|
+
x.rrule = x.rrule = "", x._end_date = x.end_date;
|
|
10250
10250
|
else {
|
|
10251
10251
|
let E = e.form_blocks.recurring._ds, S = {};
|
|
10252
10252
|
(function() {
|
|
@@ -10256,10 +10256,10 @@ const Fa = { active_links: function(e) {
|
|
|
10256
10256
|
`));
|
|
10257
10257
|
return C;
|
|
10258
10258
|
})().getValue(S), E.start = S.start_date;
|
|
10259
|
-
const T =
|
|
10260
|
-
|
|
10259
|
+
const T = b ? b.value : "CUSTOM", A = M[T](E, v);
|
|
10260
|
+
x.rrule = new z(A.rrule).toString().replace("RRULE:", ""), E.end = A.until, x.duration = Math.floor((S.end_date - S.start_date) / 1e3), E._start ? (x.start_date = new Date(E.start), x._start_date = new Date(E.start), E._start = !1) : x._start_date = null, x._end_date = E.end;
|
|
10261
10261
|
}
|
|
10262
|
-
return
|
|
10262
|
+
return x.rrule;
|
|
10263
10263
|
}, focus: function(v) {
|
|
10264
10264
|
} };
|
|
10265
10265
|
}, recurring_legacy: function(e) {
|
|
@@ -10340,17 +10340,17 @@ const Fa = { active_links: function(e) {
|
|
|
10340
10340
|
e.form_blocks.recurring._ds = { start: _.start_date, end: _._end_date };
|
|
10341
10341
|
var h = e.date.str_to_date(e.config.repeat_date, !1, !0), p = e.date.date_to_str(e.config.repeat_date), m = a.getElementsByTagName("FORM")[0], g = {};
|
|
10342
10342
|
function c(v) {
|
|
10343
|
-
for (var
|
|
10344
|
-
var
|
|
10345
|
-
if (
|
|
10346
|
-
if (g[
|
|
10347
|
-
if (g[
|
|
10348
|
-
var E = g[
|
|
10349
|
-
g[
|
|
10343
|
+
for (var x = 0; x < v.length; x++) {
|
|
10344
|
+
var b = v[x];
|
|
10345
|
+
if (b.name)
|
|
10346
|
+
if (g[b.name])
|
|
10347
|
+
if (g[b.name].nodeType) {
|
|
10348
|
+
var E = g[b.name];
|
|
10349
|
+
g[b.name] = [E, b];
|
|
10350
10350
|
} else
|
|
10351
|
-
g[
|
|
10351
|
+
g[b.name].push(b);
|
|
10352
10352
|
else
|
|
10353
|
-
g[
|
|
10353
|
+
g[b.name] = b;
|
|
10354
10354
|
}
|
|
10355
10355
|
}
|
|
10356
10356
|
if (c(m.getElementsByTagName("INPUT")), c(m.getElementsByTagName("SELECT")), !e.config.repeat_date_of_end) {
|
|
@@ -10364,15 +10364,15 @@ const Fa = { active_links: function(e) {
|
|
|
10364
10364
|
function y() {
|
|
10365
10365
|
f("dhx_repeat_day").style.display = "none", f("dhx_repeat_week").style.display = "none", f("dhx_repeat_month").style.display = "none", f("dhx_repeat_year").style.display = "none", f("dhx_repeat_" + this.value).style.display = "", e.setLightboxSize();
|
|
10366
10366
|
}
|
|
10367
|
-
function w(v,
|
|
10368
|
-
var
|
|
10369
|
-
if (
|
|
10370
|
-
if (
|
|
10371
|
-
for (var E = 0; E <
|
|
10372
|
-
|
|
10367
|
+
function w(v, x) {
|
|
10368
|
+
var b = v.end;
|
|
10369
|
+
if (b.length)
|
|
10370
|
+
if (b[0].value && b[0].value != "on")
|
|
10371
|
+
for (var E = 0; E < b.length; E++)
|
|
10372
|
+
b[E].value == x && (b[E].checked = !0);
|
|
10373
10373
|
else {
|
|
10374
10374
|
var S = 0;
|
|
10375
|
-
switch (
|
|
10375
|
+
switch (x) {
|
|
10376
10376
|
case "no":
|
|
10377
10377
|
S = 0;
|
|
10378
10378
|
break;
|
|
@@ -10382,16 +10382,16 @@ const Fa = { active_links: function(e) {
|
|
|
10382
10382
|
default:
|
|
10383
10383
|
S = 1;
|
|
10384
10384
|
}
|
|
10385
|
-
|
|
10385
|
+
b[S].checked = !0;
|
|
10386
10386
|
}
|
|
10387
10387
|
else
|
|
10388
|
-
|
|
10388
|
+
b.value = x;
|
|
10389
10389
|
}
|
|
10390
10390
|
e.form_blocks.recurring._get_repeat_code = function(v) {
|
|
10391
|
-
var
|
|
10392
|
-
for (D[
|
|
10393
|
-
|
|
10394
|
-
var
|
|
10391
|
+
var x = [d(g, "repeat")];
|
|
10392
|
+
for (D[x[0]](x, v); x.length < 5; )
|
|
10393
|
+
x.push("");
|
|
10394
|
+
var b = "", E = function(S) {
|
|
10395
10395
|
var T = S.end;
|
|
10396
10396
|
if (T.length) {
|
|
10397
10397
|
for (var A = 0; A < T.length; A++)
|
|
@@ -10401,57 +10401,57 @@ const Fa = { active_links: function(e) {
|
|
|
10401
10401
|
return T.value;
|
|
10402
10402
|
return "no";
|
|
10403
10403
|
}(g);
|
|
10404
|
-
return E == "no" ? (v.end = new Date(9999, 1, 1),
|
|
10404
|
+
return E == "no" ? (v.end = new Date(9999, 1, 1), b = "no") : E == "date_of_end" ? v.end = function(S) {
|
|
10405
10405
|
var T = h(S);
|
|
10406
10406
|
return e.config.include_end_by && (T = e.date.add(T, 1, "day")), T;
|
|
10407
|
-
}(d(g, "date_of_end")) : (e.transpose_type(
|
|
10407
|
+
}(d(g, "date_of_end")) : (e.transpose_type(x.join("_")), b = Math.max(1, d(g, "occurences_count")), v.end = e.date["add_" + x.join("_")](new Date(v.start), b + 0, { start_date: v.start }) || v.start), x.join("_") + "#" + b;
|
|
10408
10408
|
};
|
|
10409
|
-
var D = { month: function(v,
|
|
10410
|
-
var
|
|
10411
|
-
|
|
10412
|
-
}, week: function(v,
|
|
10413
|
-
var
|
|
10409
|
+
var D = { month: function(v, x) {
|
|
10410
|
+
var b = e.form_blocks.recurring._get_node_value, E = e.form_blocks.recurring._get_node_numeric_value;
|
|
10411
|
+
b(g, "month_type") == "d" ? (v.push(Math.max(1, E(g, "month_count"))), x.start.setDate(b(g, "month_day"))) : (v.push(Math.max(1, E(g, "month_count2"))), v.push(b(g, "month_day2")), v.push(Math.max(1, E(g, "month_week2"))), e.config.repeat_precise || x.start.setDate(1)), x._start = !0;
|
|
10412
|
+
}, week: function(v, x) {
|
|
10413
|
+
var b = e.form_blocks.recurring._get_node_value, E = e.form_blocks.recurring._get_node_numeric_value;
|
|
10414
10414
|
v.push(Math.max(1, E(g, "week_count"))), v.push(""), v.push("");
|
|
10415
|
-
for (var S = [], T =
|
|
10415
|
+
for (var S = [], T = b(g, "week_day", !0), A = x.start.getDay(), C = !1, $ = 0; $ < T.length; $++)
|
|
10416
10416
|
S.push(T[$]), C = C || T[$] == A;
|
|
10417
|
-
S.length || (S.push(A), C = !0), S.sort(), e.config.repeat_precise ? C || (e.transpose_day_week(
|
|
10417
|
+
S.length || (S.push(A), C = !0), S.sort(), e.config.repeat_precise ? C || (e.transpose_day_week(x.start, S, 1, 7), x._start = !0) : (x.start = e.date.week_start(x.start), x._start = !0), v.push(S.join(","));
|
|
10418
10418
|
}, day: function(v) {
|
|
10419
|
-
var
|
|
10420
|
-
|
|
10421
|
-
}, year: function(v,
|
|
10422
|
-
var
|
|
10423
|
-
|
|
10424
|
-
} }, M = { week: function(v,
|
|
10425
|
-
var
|
|
10426
|
-
|
|
10419
|
+
var x = e.form_blocks.recurring._get_node_value, b = e.form_blocks.recurring._get_node_numeric_value;
|
|
10420
|
+
x(g, "day_type") == "d" ? v.push(Math.max(1, b(g, "day_count"))) : (v.push("week"), v.push(1), v.push(""), v.push(""), v.push(e.config.recurring_workdays.join(",")), v.splice(0, 1));
|
|
10421
|
+
}, year: function(v, x) {
|
|
10422
|
+
var b = e.form_blocks.recurring._get_node_value;
|
|
10423
|
+
b(g, "year_type") == "d" ? (v.push("1"), x.start.setMonth(0), x.start.setDate(b(g, "year_day")), x.start.setMonth(b(g, "year_month"))) : (v.push("1"), v.push(b(g, "year_day2")), v.push(b(g, "year_week2")), x.start.setDate(1), x.start.setMonth(b(g, "year_month2"))), x._start = !0;
|
|
10424
|
+
} }, M = { week: function(v, x) {
|
|
10425
|
+
var b = e.form_blocks.recurring._set_node_value;
|
|
10426
|
+
b(g, "week_count", v[1]);
|
|
10427
10427
|
for (var E = v[4].split(","), S = {}, T = 0; T < E.length; T++)
|
|
10428
10428
|
S[E[T]] = !0;
|
|
10429
|
-
|
|
10430
|
-
}, month: function(v,
|
|
10431
|
-
var
|
|
10432
|
-
v[2] === "" ? (
|
|
10433
|
-
}, day: function(v,
|
|
10434
|
-
var
|
|
10435
|
-
|
|
10436
|
-
}, year: function(v,
|
|
10437
|
-
var
|
|
10438
|
-
v[2] === "" ? (
|
|
10429
|
+
b(g, "week_day", S);
|
|
10430
|
+
}, month: function(v, x) {
|
|
10431
|
+
var b = e.form_blocks.recurring._set_node_value;
|
|
10432
|
+
v[2] === "" ? (b(g, "month_type", "d"), b(g, "month_count", v[1]), b(g, "month_day", x.start.getDate())) : (b(g, "month_type", "w"), b(g, "month_count2", v[1]), b(g, "month_week2", v[3]), b(g, "month_day2", v[2]));
|
|
10433
|
+
}, day: function(v, x) {
|
|
10434
|
+
var b = e.form_blocks.recurring._set_node_value;
|
|
10435
|
+
b(g, "day_type", "d"), b(g, "day_count", v[1]);
|
|
10436
|
+
}, year: function(v, x) {
|
|
10437
|
+
var b = e.form_blocks.recurring._set_node_value;
|
|
10438
|
+
v[2] === "" ? (b(g, "year_type", "d"), b(g, "year_day", x.start.getDate()), b(g, "year_month", x.start.getMonth())) : (b(g, "year_type", "w"), b(g, "year_week2", v[3]), b(g, "year_day2", v[2]), b(g, "year_month2", x.start.getMonth()));
|
|
10439
10439
|
} };
|
|
10440
|
-
e.form_blocks.recurring._set_repeat_code = function(v,
|
|
10441
|
-
var
|
|
10442
|
-
switch (v = E[0].split("_"), M[v[0]](v,
|
|
10440
|
+
e.form_blocks.recurring._set_repeat_code = function(v, x) {
|
|
10441
|
+
var b = e.form_blocks.recurring._set_node_value, E = v.split("#");
|
|
10442
|
+
switch (v = E[0].split("_"), M[v[0]](v, x), E[1]) {
|
|
10443
10443
|
case "no":
|
|
10444
10444
|
w(g, "no");
|
|
10445
10445
|
break;
|
|
10446
10446
|
case "":
|
|
10447
10447
|
w(g, "date_of_end");
|
|
10448
|
-
var S =
|
|
10449
|
-
e.config.include_end_by && (S = e.date.add(S, -1, "day")),
|
|
10448
|
+
var S = x.end;
|
|
10449
|
+
e.config.include_end_by && (S = e.date.add(S, -1, "day")), b(g, "date_of_end", p(S));
|
|
10450
10450
|
break;
|
|
10451
10451
|
default:
|
|
10452
|
-
w(g, "occurences_count"),
|
|
10452
|
+
w(g, "occurences_count"), b(g, "occurences_count", E[1]);
|
|
10453
10453
|
}
|
|
10454
|
-
|
|
10454
|
+
b(g, "repeat", v[0]);
|
|
10455
10455
|
var T = e.form_blocks.recurring._get_form_node(g, "repeat", v[0]);
|
|
10456
10456
|
T.nodeName == "SELECT" ? (T.dispatchEvent(new Event("change")), T.dispatchEvent(new MouseEvent("click"))) : T.dispatchEvent(new MouseEvent("click"));
|
|
10457
10457
|
};
|
|
@@ -10801,13 +10801,13 @@ END:VCALENDAR`;
|
|
|
10801
10801
|
}, url: function(e) {
|
|
10802
10802
|
e._get_url_nav = function() {
|
|
10803
10803
|
return function() {
|
|
10804
|
-
const a =
|
|
10804
|
+
const a = /* @__PURE__ */ Object.create(null), o = (document.location.hash || "").replace("#", "");
|
|
10805
10805
|
if (!o)
|
|
10806
10806
|
return a;
|
|
10807
|
-
const _ = o.split(",");
|
|
10808
|
-
for (let
|
|
10809
|
-
const
|
|
10810
|
-
|
|
10807
|
+
const _ = o.split(","), r = ["__proto__", "constructor", "prototype"];
|
|
10808
|
+
for (let d = 0; d < _.length; d++) {
|
|
10809
|
+
const l = _[d].split("=");
|
|
10810
|
+
l.length !== 2 || r.includes(l[0]) || (a[l[0]] = l[1]);
|
|
10811
10811
|
}
|
|
10812
10812
|
return a;
|
|
10813
10813
|
}();
|