dhtmlx-scheduler 7.0.1 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -204,7 +204,7 @@
204
204
  element.style.height = value;
205
205
  }
206
206
  if (config.click) {
207
- element.addEventListener("click", config.click);
207
+ scheduler2.event(element, "click", config.click);
208
208
  }
209
209
  if (config.html) {
210
210
  element.innerHTML = config.html;
@@ -632,9 +632,7 @@
632
632
  };
633
633
  scheduler2.set_sizes = function() {
634
634
  var w = this._x = this._obj.clientWidth - this.xy.margin_left;
635
- var h = this._y = this._obj.clientHeight - this.xy.margin_top;
636
635
  var scale_x = this._table_view ? 0 : this.xy.scale_width + this.xy.scroll_width;
637
- var scale_s = this._table_view ? -1 : this.xy.scale_width;
638
636
  var materialScalePlaceholder = this.$container.querySelector(".dhx_cal_scale_placeholder");
639
637
  if (scheduler2._is_material_skin()) {
640
638
  if (!materialScalePlaceholder) {
@@ -657,32 +655,22 @@
657
655
  }
658
656
  }
659
657
  this._data_width = w - scale_x;
660
- if (!scheduler2._is_new_skin()) {
661
- this.set_xy(this._els["dhx_cal_navline"][0], w, this.xy.nav_height, 0, 0);
662
- this.set_xy(this._els["dhx_cal_header"][0], w - scale_x + 1, this.xy.scale_height, scale_s, this.xy.nav_height + 1);
663
- var actual_height = this._els["dhx_cal_navline"][0].offsetHeight;
664
- if (actual_height > 0)
665
- this.xy.nav_height = actual_height;
666
- var data_y = this.xy.scale_height + this.xy.nav_height;
667
- this.set_xy(this._els["dhx_cal_data"][0], w, h - (data_y + 2), 0, data_y + 2);
658
+ this._els["dhx_cal_navline"][0].style.width = w + "px";
659
+ const header = this._els["dhx_cal_header"][0];
660
+ this.set_xy(header, this._data_width, this.xy.scale_height);
661
+ header.style.left = ``;
662
+ header.style.right = ``;
663
+ if (!this._table_view) {
664
+ if (this.config.rtl) {
665
+ header.style.right = `${this.xy.scale_width}px`;
666
+ } else {
667
+ header.style.left = `${this.xy.scale_width}px`;
668
+ }
668
669
  } else {
669
- this._els["dhx_cal_navline"][0].style.width = w + "px";
670
- const header = this._els["dhx_cal_header"][0];
671
- this.set_xy(header, this._data_width, this.xy.scale_height);
672
- header.style.left = ``;
673
- header.style.right = ``;
674
- if (!this._table_view) {
675
- if (this.config.rtl) {
676
- header.style.right = `${this.xy.scale_width}px`;
677
- } else {
678
- header.style.left = `${this.xy.scale_width}px`;
679
- }
670
+ if (!this.config.rtl) {
671
+ header.style.left = `-1px`;
680
672
  } else {
681
- if (!this.config.rtl) {
682
- header.style.left = `-1px`;
683
- } else {
684
- header.style.right = `-1px`;
685
- }
673
+ header.style.right = `-1px`;
686
674
  }
687
675
  }
688
676
  };
@@ -1549,11 +1537,7 @@
1549
1537
  head.className += " dhx_scale_bar_border";
1550
1538
  left = left + 1;
1551
1539
  }
1552
- if (scheduler2._is_new_skin()) {
1553
- this.set_xy(head, width, this.xy.scale_height - 1, left, offset_top);
1554
- } else {
1555
- this.set_xy(head, width - 1, this.xy.scale_height - 2, left, offset_top);
1556
- }
1540
+ this.set_xy(head, width, this.xy.scale_height - 1, left, offset_top);
1557
1541
  var columnHeaderText = this.templates[this._mode + "_scale_date"](date, this._mode);
1558
1542
  head.innerHTML = columnHeaderText;
1559
1543
  this._waiAria.dayHeaderAttr(head, columnHeaderText);
@@ -1626,37 +1610,35 @@
1626
1610
  if (this._ignores_detected && this._ignores[i]) {
1627
1611
  cls += " dhx_scale_ignore";
1628
1612
  }
1629
- if (this._is_new_skin()) {
1630
- for (let i2 = this.config.first_hour * 1; i2 < this.config.last_hour; i2++) {
1631
- const firstHalf = document.createElement("div");
1632
- firstHalf.className = "dhx_scale_time_slot dhx_scale_time_slot_hour_start";
1633
- firstHalf.style.height = this.config.hour_size_px / 2 + "px";
1634
- let slotDate = new Date(d.getFullYear(), d.getMonth(), d.getDate(), i2, 0);
1635
- firstHalf.setAttribute("data-slot-date", this.templates.format_date(slotDate));
1636
- let htmlContent = this.templates.time_slot_text(slotDate);
1637
- if (htmlContent) {
1638
- firstHalf.innerHTML = htmlContent;
1639
- }
1640
- let cssClass = this.templates.time_slot_class(slotDate);
1641
- if (cssClass) {
1642
- firstHalf.classList.add(cssClass);
1643
- }
1644
- scales.appendChild(firstHalf);
1645
- const secondHalf = document.createElement("div");
1646
- secondHalf.className = "dhx_scale_time_slot";
1647
- slotDate = new Date(d.getFullYear(), d.getMonth(), d.getDate(), i2, 30);
1648
- secondHalf.setAttribute("data-slot-date", this.templates.format_date(slotDate));
1649
- secondHalf.style.height = this.config.hour_size_px / 2 + "px";
1650
- htmlContent = this.templates.time_slot_text(slotDate);
1651
- if (htmlContent) {
1652
- secondHalf.innerHTML = htmlContent;
1653
- }
1654
- cssClass = this.templates.time_slot_class(slotDate);
1655
- if (cssClass) {
1656
- secondHalf.classList.add(cssClass);
1657
- }
1658
- scales.appendChild(secondHalf);
1659
- }
1613
+ for (let i2 = this.config.first_hour * 1; i2 < this.config.last_hour; i2++) {
1614
+ const firstHalf = document.createElement("div");
1615
+ firstHalf.className = "dhx_scale_time_slot dhx_scale_time_slot_hour_start";
1616
+ firstHalf.style.height = this.config.hour_size_px / 2 + "px";
1617
+ let slotDate = new Date(d.getFullYear(), d.getMonth(), d.getDate(), i2, 0);
1618
+ firstHalf.setAttribute("data-slot-date", this.templates.format_date(slotDate));
1619
+ let htmlContent = this.templates.time_slot_text(slotDate);
1620
+ if (htmlContent) {
1621
+ firstHalf.innerHTML = htmlContent;
1622
+ }
1623
+ let cssClass = this.templates.time_slot_class(slotDate);
1624
+ if (cssClass) {
1625
+ firstHalf.classList.add(cssClass);
1626
+ }
1627
+ scales.appendChild(firstHalf);
1628
+ const secondHalf = document.createElement("div");
1629
+ secondHalf.className = "dhx_scale_time_slot";
1630
+ slotDate = new Date(d.getFullYear(), d.getMonth(), d.getDate(), i2, 30);
1631
+ secondHalf.setAttribute("data-slot-date", this.templates.format_date(slotDate));
1632
+ secondHalf.style.height = this.config.hour_size_px / 2 + "px";
1633
+ htmlContent = this.templates.time_slot_text(slotDate);
1634
+ if (htmlContent) {
1635
+ secondHalf.innerHTML = htmlContent;
1636
+ }
1637
+ cssClass = this.templates.time_slot_class(slotDate);
1638
+ if (cssClass) {
1639
+ secondHalf.classList.add(cssClass);
1640
+ }
1641
+ scales.appendChild(secondHalf);
1660
1642
  }
1661
1643
  scales.className = cls + " " + this.templates.week_date_class(d, today);
1662
1644
  this._waiAria.dayColumnAttr(scales, d);
@@ -1709,11 +1691,6 @@
1709
1691
  this._els[dhx_multi_day][0].parentNode.removeChild(this._els[dhx_multi_day][0]);
1710
1692
  this._els[dhx_multi_day] = null;
1711
1693
  }
1712
- var navline = this._els["dhx_cal_navline"][0];
1713
- var top = navline.offsetHeight + this._els["dhx_cal_header"][0].offsetHeight + 1;
1714
- if (this._is_new_skin()) {
1715
- top = void 0;
1716
- }
1717
1694
  var c1 = document.createElement("div");
1718
1695
  c1.className = dhx_multi_day;
1719
1696
  c1.style.visibility = "hidden";
@@ -1721,13 +1698,13 @@
1721
1698
  var totalWidth = this._colsS[this._colsS.col_length];
1722
1699
  var offset = c.rtl ? this.xy.scale_width : this.xy.scroll_width;
1723
1700
  var hiddenWidth = Math.max(totalWidth + offset, 0);
1724
- this.set_xy(c1, hiddenWidth, 0, 0, top);
1701
+ this.set_xy(c1, hiddenWidth, 0, 0);
1725
1702
  data_area2.parentNode.insertBefore(c1, data_area2);
1726
1703
  var c2 = c1.cloneNode(true);
1727
1704
  c2.className = dhx_multi_day + "_icon";
1728
1705
  c2.style.visibility = "hidden";
1729
1706
  c2.style.display = "none";
1730
- this.set_xy(c2, this.xy.scale_width + 1, 0, 0, top);
1707
+ this.set_xy(c2, this.xy.scale_width + 1, 0, 0);
1731
1708
  c1.appendChild(c2);
1732
1709
  this._els[dhx_multi_day] = [c1, c2];
1733
1710
  scheduler2.event(this._els[dhx_multi_day][0], "click", this._click.dhx_cal_data);
@@ -3721,10 +3698,6 @@
3721
3698
  used_multi_day_height = Math.min(full_multi_day_height, this.config.multi_day_height_limit);
3722
3699
  used_multi_day_height_css = used_multi_day_height + "px";
3723
3700
  }
3724
- if (!scheduler2._is_new_skin()) {
3725
- data.style.top = this._els["dhx_cal_navline"][0].offsetHeight + this._els["dhx_cal_header"][0].offsetHeight + used_multi_day_height + "px";
3726
- data.style.height = this._obj.offsetHeight - parseInt(data.style.top, 10) - (this.xy.margin_top || 0) + "px";
3727
- }
3728
3701
  var multi_day_section = this._els["dhx_multi_day"][0];
3729
3702
  multi_day_section.style.height = used_multi_day_height_css;
3730
3703
  multi_day_section.style.visibility = h[0] == -1 ? "hidden" : "visible";
@@ -3740,9 +3713,6 @@
3740
3713
  }
3741
3714
  h[0] = 0;
3742
3715
  if (used_multi_day_height != full_multi_day_height) {
3743
- if (!scheduler2._is_new_skin()) {
3744
- data.style.top = parseInt(data.style.top) + 2 + "px";
3745
- }
3746
3716
  multi_day_section.style.overflowY = "auto";
3747
3717
  multi_day_icon.style.position = "fixed";
3748
3718
  multi_day_icon.style.top = "";
@@ -5468,9 +5438,7 @@
5468
5438
  var rtl = scheduler2.config.rtl;
5469
5439
  for (var i = 0; i < buttons.length; i++) {
5470
5440
  ariaAttr = this._waiAria.lightboxButtonAttrString(buttons[i]);
5471
- if (scheduler2._is_new_skin()) {
5472
- html += "<div class='dhx_cal_lcontrols_push_right'></div>";
5473
- }
5441
+ html += "<div class='dhx_cal_lcontrols_push_right'></div>";
5474
5442
  html += "<div " + ariaAttr + " data-action='" + buttons[i] + "' class='dhx_btn_set dhx_" + (rtl ? "left" : "right") + "_btn_set " + buttons[i] + "_set'><div class='dhx_btn_inner " + buttons[i] + "'></div><div>" + scheduler2.locale.labels[buttons[i]] + "</div></div>";
5475
5443
  }
5476
5444
  html += "</div>";
@@ -5622,7 +5590,7 @@
5622
5590
  var source, tracker, timer, drag_mode, scroll_mode, action_mode;
5623
5591
  var dblclicktime = 0;
5624
5592
  function attachTouchEvent(element, name, callback) {
5625
- element.addEventListener(name, function(e) {
5593
+ scheduler2.event(element, name, function(e) {
5626
5594
  if (scheduler2._is_lightbox_open()) {
5627
5595
  return true;
5628
5596
  } else {
@@ -5913,6 +5881,7 @@
5913
5881
  }
5914
5882
  }
5915
5883
  scheduler2._build_skin_info = function() {
5884
+ monitorThemeChange();
5916
5885
  const styles = getComputedStyle(this.$container);
5917
5886
  const themeVar = styles.getPropertyValue("--dhx-scheduler-theme");
5918
5887
  let isCssVarTheme = !!themeVar;
@@ -5940,9 +5909,6 @@
5940
5909
  }
5941
5910
  }
5942
5911
  };
5943
- scheduler2._is_new_skin = function() {
5944
- return scheduler2._theme_info.cssVarTheme;
5945
- };
5946
5912
  var calculatedMaterial;
5947
5913
  function checkIfMaterialSkin() {
5948
5914
  if (calculatedMaterial === void 0) {
@@ -6006,8 +5972,8 @@
6006
5972
  scheduler2.setCurrentView();
6007
5973
  }
6008
5974
  }
6009
- window.addEventListener("DOMContentLoaded", refreshAfterLoad);
6010
- window.addEventListener("load", refreshAfterLoad);
5975
+ scheduler2.event(window, "DOMContentLoaded", refreshAfterLoad);
5976
+ scheduler2.event(window, "load", refreshAfterLoad);
6011
5977
  scheduler2._border_box_events = function() {
6012
5978
  return checkIfBorderBoxStyling();
6013
5979
  };
@@ -6030,6 +5996,22 @@
6030
5996
  var html = "<span class='dhx_scale_h'>" + date.getHours() + "</span><span class='dhx_scale_m'>&nbsp;" + min + "</span>";
6031
5997
  return html;
6032
5998
  }
5999
+ let monitorIntervalId = null;
6000
+ function monitorThemeChange() {
6001
+ const container = scheduler2.$container;
6002
+ clearInterval(monitorIntervalId);
6003
+ if (container) {
6004
+ monitorIntervalId = setInterval(() => {
6005
+ const csstheme = getComputedStyle(container).getPropertyValue("--dhx-scheduler-theme");
6006
+ if (csstheme && csstheme !== scheduler2.skin) {
6007
+ scheduler2.setSkin(csstheme);
6008
+ }
6009
+ }, 100);
6010
+ }
6011
+ }
6012
+ scheduler2.attachEvent("onDestroy", function() {
6013
+ clearInterval(monitorIntervalId);
6014
+ });
6033
6015
  scheduler2._skin_init = function() {
6034
6016
  this._build_skin_info();
6035
6017
  if (!this.skin) {
@@ -6041,43 +6023,6 @@
6041
6023
  } else if (scheduler2.templates.hour_scale === flatSkinHourScale) {
6042
6024
  scheduler2.templates.hour_scale = scheduler2.date.date_to_str(scheduler2.config.hour_date);
6043
6025
  }
6044
- if (!this._theme_info.cssVarTheme) {
6045
- var set = 0;
6046
- if (scheduler2.skin && (scheduler2.skin === "classic" || scheduler2.skin === "glossy"))
6047
- set = 1;
6048
- if (scheduler2._is_material_skin()) {
6049
- var defaultButtonsLeft = scheduler2.config.buttons_left.$initial;
6050
- var defaultButtonsRight = scheduler2.config.buttons_right.$initial;
6051
- if (defaultButtonsLeft && scheduler2.config.buttons_left.slice().join() == defaultButtonsLeft && defaultButtonsRight && scheduler2.config.buttons_right.slice().join() == defaultButtonsRight) {
6052
- var tmp = scheduler2.config.buttons_left.slice();
6053
- scheduler2.config.buttons_left = scheduler2.config.buttons_right.slice();
6054
- scheduler2.config.buttons_right = tmp;
6055
- }
6056
- scheduler2.xy.event_header_height = 18;
6057
- scheduler2.xy.week_agenda_scale_height = 35;
6058
- scheduler2.xy.map_icon_width = 38;
6059
- scheduler2._lightbox_controls.defaults.textarea.height = 64;
6060
- scheduler2._lightbox_controls.defaults.time.height = "auto";
6061
- }
6062
- this._configure(scheduler2.config, scheduler2._skin_settings, set);
6063
- this._configure(scheduler2.xy, scheduler2._skin_xy, set);
6064
- if (scheduler2.skin === "flat") {
6065
- scheduler2.xy.scale_height = 35;
6066
- scheduler2.templates.hour_scale = function(date) {
6067
- var min = date.getMinutes();
6068
- min = min < 10 ? "0" + min : min;
6069
- var html = "<span class='dhx_scale_h'>" + date.getHours() + "</span><span class='dhx_scale_m'>&nbsp;" + min + "</span>";
6070
- return html;
6071
- };
6072
- }
6073
- if (set)
6074
- return;
6075
- }
6076
- if (!this._theme_info.cssVarTheme) {
6077
- var minic = scheduler2.config.minicalendar;
6078
- if (minic)
6079
- minic.padding = 14;
6080
- }
6081
6026
  scheduler2.attachEvent("onTemplatesReady", function() {
6082
6027
  var date_to_str = scheduler2.date.date_to_str("%d");
6083
6028
  if (!scheduler2.templates._old_month_day) {
@@ -6892,9 +6837,12 @@
6892
6837
  this.fullSync();
6893
6838
  });
6894
6839
  var self2 = this;
6895
- global$1.setInterval(function() {
6840
+ let intervalId = global$1.setInterval(function() {
6896
6841
  self2.loadUpdate();
6897
6842
  }, interval);
6843
+ this.attachEvent("onDestroy", function() {
6844
+ clearInterval(intervalId);
6845
+ });
6898
6846
  }, afterAutoUpdate: function(sid, action, tid, xml_node) {
6899
6847
  if (action == "collision") {
6900
6848
  this._need_update = true;
@@ -7356,7 +7304,7 @@
7356
7304
  const cs = { date: { month_full: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], month_short: ["Led", "Ún", "Bře", "Dub", "Kvě", "Čer", "Čec", "Srp", "Září", "Říj", "List", "Pro"], day_full: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], day_short: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"] }, labels: { dhx_cal_today_button: "Dnes", day_tab: "Den", week_tab: "Týden", month_tab: "Měsíc", new_event: "Nová událost", icon_save: "Uložit", icon_cancel: "Zpět", icon_details: "Detail", icon_edit: "Edituj", icon_delete: "Smazat", confirm_closing: "", confirm_deleting: "Událost bude trvale smazána, opravdu?", section_description: "Poznámky", section_time: "Doba platnosti", confirm_recurring: "Přejete si upravit celou řadu opakovaných událostí?", section_recurring: "Opakování události", button_recurring: "Vypnuto", button_recurring_open: "Zapnuto", button_edit_series: "Edit series", button_edit_occurrence: "Upravit instance", agenda_tab: "Program", date: "Datum", description: "Poznámka", year_tab: "Rok", full_day: "Full day", week_agenda_tab: "Program", grid_tab: "Mřížka", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Denně", repeat_radio_week: "Týdně", repeat_radio_month: "Měsíčně", repeat_radio_year: "Ročně", repeat_radio_day_type: "každý", repeat_text_day_count: "Den", repeat_radio_day_type2: "pracovní dny", repeat_week: "Opakuje každých", repeat_text_week_count: "Týdnů na:", repeat_radio_month_type: "u každého", repeat_radio_month_start: "na", repeat_text_month_day: "Den každého", repeat_text_month_count: "Měsíc", repeat_text_month_count2_before: "každý", repeat_text_month_count2_after: "Měsíc", repeat_year_label: "na", select_year_day2: "v", repeat_text_year_day: "Den v", select_year_month: "", repeat_radio_end: "bez data ukončení", repeat_text_occurences_count: "Události", repeat_radio_end2: "po", repeat_radio_end3: "Konec", month_for_recurring: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], day_for_recurring: ["Neděle ", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"] } };
7357
7305
  const da = { date: { month_full: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], day_full: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], day_short: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"] }, labels: { dhx_cal_today_button: "Idag", day_tab: "Dag", week_tab: "Uge", month_tab: "Måned", new_event: "Ny begivenhed", icon_save: "Gem", icon_cancel: "Fortryd", icon_details: "Detaljer", icon_edit: "Tilret", icon_delete: "Slet", confirm_closing: "Dine rettelser vil gå tabt.. Er dy sikker?", confirm_deleting: "Bigivenheden vil blive slettet permanent. Er du sikker?", section_description: "Beskrivelse", section_time: "Tidsperiode", confirm_recurring: "Vil du tilrette hele serien af gentagne begivenheder?", section_recurring: "Gentag begivenhed", button_recurring: "Frakoblet", button_recurring_open: "Tilkoblet", button_edit_series: "Rediger serien", button_edit_occurrence: "Rediger en kopi", agenda_tab: "Dagsorden", date: "Dato", description: "Beskrivelse", year_tab: "År", week_agenda_tab: "Dagsorden", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daglig", repeat_radio_week: "Ugenlig", repeat_radio_month: "Månedlig", repeat_radio_year: "Årlig", repeat_radio_day_type: "Hver", repeat_text_day_count: "dag", repeat_radio_day_type2: "På hver arbejdsdag", repeat_week: " Gentager sig hver", repeat_text_week_count: "uge på følgende dage:", repeat_radio_month_type: "Hver den", repeat_radio_month_start: "Den", repeat_text_month_day: " i hver", repeat_text_month_count: "måned", repeat_text_month_count2_before: "hver", repeat_text_month_count2_after: "måned", repeat_year_label: "Den", select_year_day2: "i", repeat_text_year_day: "dag i", select_year_month: "", repeat_radio_end: "Ingen slutdato", repeat_text_occurences_count: "gentagelse", repeat_radio_end2: "Efter", repeat_radio_end3: "Slut", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"] } };
7358
7306
  const de = { date: { month_full: [" Januar", " Februar", " März ", " April", " Mai", " Juni", " Juli", " August", " September ", " Oktober", " November ", " Dezember"], month_short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], day_full: ["Sonntag", "Montag", "Dienstag", " Mittwoch", " Donnerstag", "Freitag", "Samstag"], day_short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"] }, labels: { dhx_cal_today_button: "Heute", day_tab: "Tag", week_tab: "Woche", month_tab: "Monat", new_event: "neuer Eintrag", icon_save: "Speichern", icon_cancel: "Abbrechen", icon_details: "Details", icon_edit: "Ändern", icon_delete: "Löschen", confirm_closing: "", confirm_deleting: "Der Eintrag wird gelöscht", section_description: "Beschreibung", section_time: "Zeitspanne", full_day: "Ganzer Tag", confirm_recurring: "Wollen Sie alle Einträge bearbeiten oder nur diesen einzelnen Eintrag?", section_recurring: "Wiederholung", button_recurring: "Aus", button_recurring_open: "An", button_edit_series: "Bearbeiten Sie die Serie", button_edit_occurrence: "Bearbeiten Sie eine Kopie", agenda_tab: "Agenda", date: "Datum", description: "Beschreibung", year_tab: "Jahre", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Täglich", repeat_radio_week: "Wöchentlich", repeat_radio_month: "Monatlich", repeat_radio_year: "Jährlich", repeat_radio_day_type: "jeden", repeat_text_day_count: "Tag", repeat_radio_day_type2: "an jedem Arbeitstag", repeat_week: " Wiederholt sich jede", repeat_text_week_count: "Woche am:", repeat_radio_month_type: "an jedem", repeat_radio_month_start: "am", repeat_text_month_day: "Tag eines jeden", repeat_text_month_count: "Monats", repeat_text_month_count2_before: "jeden", repeat_text_month_count2_after: "Monats", repeat_year_label: "am", select_year_day2: "im", repeat_text_year_day: "Tag im", select_year_month: "", repeat_radio_end: "kein Enddatum", repeat_text_occurences_count: "Ereignissen", repeat_radio_end3: "Schluß", repeat_radio_end2: "nach", month_for_recurring: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], day_for_recurring: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] } };
7359
- const el = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Κυριακή"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } };
7307
+ const el = { date: { month_full: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], month_short: ["ΙΑΝ", "ΦΕΒ", "ΜΑΡ", "ΑΠΡ", "ΜΑΙ", "ΙΟΥΝ", "ΙΟΥΛ", "ΑΥΓ", "ΣΕΠ", "ΟΚΤ", "ΝΟΕ", "ΔΕΚ"], day_full: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"], day_short: ["ΚΥ", "ΔΕ", "ΤΡ", "ΤΕ", "ΠΕ", "ΠΑ", "ΣΑ"] }, labels: { dhx_cal_today_button: "Σήμερα", day_tab: "Ημέρα", week_tab: "Εβδομάδα", month_tab: "Μήνας", new_event: "Νέο έργο", icon_save: "Αποθήκευση", icon_cancel: "Άκυρο", icon_details: "Λεπτομέρειες", icon_edit: "Επεξεργασία", icon_delete: "Διαγραφή", confirm_closing: "", confirm_deleting: "Το έργο θα διαγραφεί οριστικά. Θέλετε να συνεχίσετε;", section_description: "Περιγραφή", section_time: "Χρονική περίοδος", full_day: "Πλήρης Ημέρα", confirm_recurring: "Θέλετε να επεξεργασθείτε ολόκληρη την ομάδα των επαναλαμβανόμενων έργων;", section_recurring: "Επαναλαμβανόμενο έργο", button_recurring: "Ανενεργό", button_recurring_open: "Ενεργό", button_edit_series: "Επεξεργαστείτε τη σειρά", button_edit_occurrence: "Επεξεργασία ένα αντίγραφο", agenda_tab: "Ημερήσια Διάταξη", date: "Ημερομηνία", description: "Περιγραφή", year_tab: "Έτος", week_agenda_tab: "Ημερήσια Διάταξη", grid_tab: "Πλέγμα", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Ημερησίως", repeat_radio_week: "Εβδομαδιαίως", repeat_radio_month: "Μηνιαίως", repeat_radio_year: "Ετησίως", repeat_radio_day_type: "Κάθε", repeat_text_day_count: "ημέρα", repeat_radio_day_type2: "Κάθε εργάσιμη", repeat_week: " Επανάληψη κάθε", repeat_text_week_count: "εβδομάδα τις επόμενες ημέρες:", repeat_radio_month_type: "Επανάληψη", repeat_radio_month_start: "Την", repeat_text_month_day: "ημέρα κάθε", repeat_text_month_count: "μήνα", repeat_text_month_count2_before: "κάθε", repeat_text_month_count2_after: "μήνα", repeat_year_label: "Την", select_year_day2: "του", repeat_text_year_day: "ημέρα", select_year_month: "μήνα", repeat_radio_end: "Χωρίς ημερομηνία λήξεως", repeat_text_occurences_count: "επαναλήψεις", repeat_radio_end3: "Λήγει την", repeat_radio_end2: "Μετά από", month_for_recurring: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάϊος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], day_for_recurring: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"] } };
7360
7308
  const en = { date: { month_full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], month_short: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], day_full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], day_short: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] }, labels: { dhx_cal_today_button: "Today", day_tab: "Day", week_tab: "Week", month_tab: "Month", new_event: "New event", icon_save: "Save", icon_cancel: "Cancel", icon_details: "Details", icon_edit: "Edit", icon_delete: "Delete", confirm_closing: "", confirm_deleting: "Event will be deleted permanently, are you sure?", section_description: "Description", section_time: "Time period", full_day: "Full day", confirm_recurring: "Do you want to edit the whole set of repeated events?", section_recurring: "Repeat event", button_recurring: "Disabled", button_recurring_open: "Enabled", button_edit_series: "Edit series", button_edit_occurrence: "Edit occurrence", agenda_tab: "Agenda", date: "Date", description: "Description", year_tab: "Year", week_agenda_tab: "Agenda", grid_tab: "Grid", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Daily", repeat_radio_week: "Weekly", repeat_radio_month: "Monthly", repeat_radio_year: "Yearly", repeat_radio_day_type: "Every", repeat_text_day_count: "day", repeat_radio_day_type2: "Every workday", repeat_week: " Repeat every", repeat_text_week_count: "week next days:", repeat_radio_month_type: "Repeat", repeat_radio_month_start: "On", repeat_text_month_day: "day every", repeat_text_month_count: "month", repeat_text_month_count2_before: "every", repeat_text_month_count2_after: "month", repeat_year_label: "On", select_year_day2: "of", repeat_text_year_day: "day", select_year_month: "month", repeat_radio_end: "No end date", repeat_text_occurences_count: "occurrences", repeat_radio_end2: "After", repeat_radio_end3: "End by", month_for_recurring: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], day_for_recurring: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] } };
7361
7309
  const es = { date: { month_full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], month_short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], day_full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], day_short: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"] }, labels: { dhx_cal_today_button: "Hoy", day_tab: "Día", week_tab: "Semana", month_tab: "Mes", new_event: "Nuevo evento", icon_save: "Guardar", icon_cancel: "Cancelar", icon_details: "Detalles", icon_edit: "Editar", icon_delete: "Eliminar", confirm_closing: "", confirm_deleting: "El evento se borrará definitivamente, ¿continuar?", section_description: "Descripción", section_time: "Período", full_day: "Todo el día", confirm_recurring: "¿Desea modificar el conjunto de eventos repetidos?", section_recurring: "Repita el evento", button_recurring: "Impedido", button_recurring_open: "Permitido", button_edit_series: "Editar la serie", button_edit_occurrence: "Editar este evento", agenda_tab: "Día", date: "Fecha", description: "Descripción", year_tab: "Año", week_agenda_tab: "Día", grid_tab: "Reja", drag_to_create: "Drag to create", drag_to_move: "Drag to move", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "Diariamente", repeat_radio_week: "Semanalmente", repeat_radio_month: "Mensualmente", repeat_radio_year: "Anualmente", repeat_radio_day_type: "Cada", repeat_text_day_count: "dia", repeat_radio_day_type2: "Cada jornada de trabajo", repeat_week: " Repetir cada", repeat_text_week_count: "semana:", repeat_radio_month_type: "Repita", repeat_radio_month_start: "El", repeat_text_month_day: "dia cada ", repeat_text_month_count: "mes", repeat_text_month_count2_before: "cada", repeat_text_month_count2_after: "mes", repeat_year_label: "El", select_year_day2: "del", repeat_text_year_day: "dia", select_year_month: "mes", repeat_radio_end: "Sin fecha de finalización", repeat_text_occurences_count: "ocurrencias", repeat_radio_end3: "Fin", repeat_radio_end2: "Después de", month_for_recurring: ["Enero", "Febrero", "Маrzo", "Аbril", "Mayo", "Junio", "Julio", "Аgosto", "Setiembre", "Octubre", "Noviembre", "Diciembre"], day_for_recurring: ["Domingo", "Lunes", "Martes", "Miércoles", "Jeuves", "Viernes", "Sabado"] } };
7362
7310
  const fi = { date: { month_full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], month_short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], day_full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"], day_short: ["Su", "Ma", "Ti", "Ke", "To", "Pe", "La"] }, labels: { dhx_cal_today_button: "Tänään", day_tab: "Päivä", week_tab: "Viikko", month_tab: "Kuukausi", new_event: "Uusi tapahtuma", icon_save: "Tallenna", icon_cancel: "Peru", icon_details: "Tiedot", icon_edit: "Muokkaa", icon_delete: "Poista", confirm_closing: "", confirm_deleting: "Haluatko varmasti poistaa tapahtuman?", section_description: "Kuvaus", section_time: "Aikajakso", full_day: "Koko päivä", confirm_recurring: "Haluatko varmasti muokata toistuvan tapahtuman kaikkia jaksoja?", section_recurring: "Toista tapahtuma", button_recurring: "Ei k&auml;yt&ouml;ss&auml;", button_recurring_open: "K&auml;yt&ouml;ss&auml;", button_edit_series: "Muokkaa sarja", button_edit_occurrence: "Muokkaa kopio", agenda_tab: "Esityslista", date: "Päivämäärä", description: "Kuvaus", year_tab: "Vuoden", week_agenda_tab: "Esityslista", grid_tab: "Ritilä", drag_to_create: "Luo uusi vetämällä", drag_to_move: "Siirrä vetämällä", message_ok: "OK", message_cancel: "Cancel", next: "Next", prev: "Previous", year: "Year", month: "Month", day: "Day", hour: "Hour", minute: "Minute", repeat_radio_day: "P&auml;ivitt&auml;in", repeat_radio_week: "Viikoittain", repeat_radio_month: "Kuukausittain", repeat_radio_year: "Vuosittain", repeat_radio_day_type: "Joka", repeat_text_day_count: "p&auml;iv&auml;", repeat_radio_day_type2: "Joka arkip&auml;iv&auml;", repeat_week: "Toista joka", repeat_text_week_count: "viikko n&auml;in&auml; p&auml;ivin&auml;:", repeat_radio_month_type: "Toista", repeat_radio_month_start: "", repeat_text_month_day: "p&auml;iv&auml;n&auml; joka", repeat_text_month_count: "kuukausi", repeat_text_month_count2_before: "joka", repeat_text_month_count2_after: "kuukausi", repeat_year_label: "", select_year_day2: "", repeat_text_year_day: "p&auml;iv&auml;", select_year_month: "kuukausi", repeat_radio_end: "Ei loppumisaikaa", repeat_text_occurences_count: "Toiston j&auml;lkeen", repeat_radio_end3: "Loppuu", repeat_radio_end2: "", month_for_recurring: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kes&auml;kuu", "Hein&auml;kuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"], day_for_recurring: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] } };
@@ -7668,7 +7616,7 @@
7668
7616
  }
7669
7617
  }
7670
7618
  function factoryMethod(extensionManager) {
7671
- const scheduler2 = { version: "7.0.1" };
7619
+ const scheduler2 = { version: "7.0.2" };
7672
7620
  extend$n(scheduler2);
7673
7621
  extend$i(scheduler2);
7674
7622
  extend$j(scheduler2);
@@ -11265,7 +11213,7 @@
11265
11213
  dispatcher.disable();
11266
11214
  }
11267
11215
  }
11268
- setInterval(function() {
11216
+ const intervalId = setInterval(function() {
11269
11217
  if (!scheduler2.$container || !scheduler2.$keyboardNavigation.isChildOf(scheduler2.$container, document.body)) {
11270
11218
  return;
11271
11219
  }
@@ -11285,6 +11233,9 @@
11285
11233
  }, 100);
11286
11234
  }
11287
11235
  }, 500);
11236
+ scheduler2.attachEvent("onDestroy", function() {
11237
+ clearInterval(intervalId);
11238
+ });
11288
11239
  })();
11289
11240
  }
11290
11241
  function layer(scheduler2) {
@@ -11936,6 +11887,9 @@
11936
11887
  scheduler2._mark_now();
11937
11888
  }, 6e4);
11938
11889
  });
11890
+ scheduler2.attachEvent("onDestroy", function() {
11891
+ clearInterval(scheduler2._mark_now_timer);
11892
+ });
11939
11893
  scheduler2._mark_now = function(hide) {
11940
11894
  var dhx_now_time = "dhx_now_time";
11941
11895
  if (!this._els[dhx_now_time]) {
@@ -16003,12 +15957,7 @@
16003
15957
  var c = this.config;
16004
15958
  dataArea.scrollTop = 0;
16005
15959
  dataArea.innerHTML = "";
16006
- var dx = Math.floor(parseInt(dataArea.style.width) / c.year_x);
16007
- var dy = Math.floor((parseInt(dataArea.style.height) - scheduler2.xy.year_top) / c.year_y);
16008
- if (dy < 190) {
16009
- dy = 190;
16010
- dx = Math.floor((parseInt(dataArea.style.width) - scheduler2.xy.scroll_width) / c.year_x);
16011
- }
15960
+ Math.floor((parseInt(dataArea.style.height) - scheduler2.xy.year_top) / c.year_y);
16012
15961
  var week_template = document.createElement("div");
16013
15962
  var dummy_date = this.date.week_start(scheduler2._currentDate());
16014
15963
  this._process_ignores(dummy_date, 7, "day", 1);
@@ -16032,15 +15981,11 @@
16032
15981
  for (var j = 0; j < c.year_x; j++) {
16033
15982
  yearBox = document.createElement("div");
16034
15983
  yearBox.className = "dhx_year_box";
16035
- if (!this._is_new_skin()) {
16036
- yearBox.style.cssText = "position:absolute;";
16037
- }
16038
15984
  yearBox.setAttribute("date", this._helpers.formatDate(sd));
16039
15985
  yearBox.setAttribute("data-month-date", this._helpers.formatDate(sd));
16040
15986
  yearBox.innerHTML = "<div class='dhx_year_month'></div><div class='dhx_year_grid'><div class='dhx_year_week'>" + week_template.innerHTML + "</div><div class='dhx_year_body'></div></div>";
16041
15987
  var header = yearBox.querySelector(".dhx_year_month");
16042
15988
  var grid = yearBox.querySelector(".dhx_year_grid");
16043
- var weekHeader = yearBox.querySelector(".dhx_year_week");
16044
15989
  var body = yearBox.querySelector(".dhx_year_body");
16045
15990
  var headerId = scheduler2.uid();
16046
15991
  this._waiAria.yearHeader(header, headerId);
@@ -16053,12 +15998,6 @@
16053
15998
  this._waiAria.yearDayCell(days[day]);
16054
15999
  }
16055
16000
  wrapper.appendChild(yearBox);
16056
- if (!this._is_new_skin()) {
16057
- weekHeader.style.height = weekHeader.childNodes[0].offsetHeight + "px";
16058
- var dt = Math.round((dy - 190) / 2);
16059
- yearBox.style.marginTop = dt + "px";
16060
- this.set_xy(yearBox, dx - 10, dy - dt - 10, dx * j + 5, dy * i + 5 + scheduler2.xy.year_top);
16061
- }
16062
16001
  week_starts[i * c.year_x + j] = (sd.getDay() - (this.config.start_on_monday ? 1 : 0) + 7) % 7;
16063
16002
  sd = this.date.add(sd, 1, "month");
16064
16003
  }