dhtmlx-scheduler 6.0.4 → 6.0.5

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.
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -7526,12 +7526,24 @@ function extend(scheduler) {
7526
7526
  }
7527
7527
  }
7528
7528
  };
7529
+
7530
+ // GS-2214. Attaching the lightbox to the BODY element is not considered secure.
7531
+ // Attach it to Scheduler container for Salesforce and other secure environments
7532
+ function getLightboxRoot() {
7533
+ var cspEnvironment = scheduler.config.csp === true;
7534
+ var salesforceEnvironment = !!window["Sfdc"] || !!window["$A"] || window["Aura"] || '$shadowResolver$' in document.body;
7535
+ if (cspEnvironment || salesforceEnvironment) {
7536
+ return scheduler.$root;
7537
+ } else {
7538
+ return document.body;
7539
+ }
7540
+ }
7529
7541
  scheduler._setLbPosition = function (box) {
7530
7542
  if (!box) {
7531
7543
  return;
7532
7544
  }
7533
- var scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
7534
- var scrollLeft = window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft;
7545
+ var scrollTop = window.pageYOffset || getLightboxRoot().scrollTop || document.documentElement.scrollTop;
7546
+ var scrollLeft = window.pageXOffset || getLightboxRoot().scrollLeft || document.documentElement.scrollLeft;
7535
7547
  var viewHeight = window.innerHeight || document.documentElement.clientHeight;
7536
7548
  if (scrollTop)
7537
7549
  // if vertical scroll on window
@@ -7539,11 +7551,11 @@ function extend(scheduler) {
7539
7551
  // vertical scroll on body
7540
7552
  box.style.top = Math.round(Math.max((viewHeight - box.offsetHeight) / 2, 0) + 9) + "px"; // +9 for compatibility with auto tests
7541
7553
  // not quite accurate but used for compatibility reasons
7542
- if (document.documentElement.scrollWidth > document.body.offsetWidth)
7554
+ if (document.documentElement.scrollWidth > getLightboxRoot().offsetWidth)
7543
7555
  // if horizontal scroll on the window
7544
- box.style.left = Math.round(scrollLeft + (document.body.offsetWidth - box.offsetWidth) / 2) + "px";else
7556
+ box.style.left = Math.round(scrollLeft + (getLightboxRoot().offsetWidth - box.offsetWidth) / 2) + "px";else
7545
7557
  // horizontal scroll on the body
7546
- box.style.left = Math.round((document.body.offsetWidth - box.offsetWidth) / 2) + "px";
7558
+ box.style.left = Math.round((getLightboxRoot().offsetWidth - box.offsetWidth) / 2) + "px";
7547
7559
  };
7548
7560
  scheduler.showCover = function (box) {
7549
7561
  if (box) {
@@ -7552,7 +7564,7 @@ function extend(scheduler) {
7552
7564
  }
7553
7565
  if (scheduler.config.responsive_lightbox) {
7554
7566
  document.documentElement.classList.add("dhx_cal_overflow_container");
7555
- document.body.classList.add("dhx_cal_overflow_container");
7567
+ getLightboxRoot().classList.add("dhx_cal_overflow_container");
7556
7568
  }
7557
7569
  this.show_cover();
7558
7570
  };
@@ -7631,7 +7643,7 @@ function extend(scheduler) {
7631
7643
  this.hide_cover();
7632
7644
  if (scheduler.config.responsive_lightbox) {
7633
7645
  document.documentElement.classList.remove("dhx_cal_overflow_container");
7634
- document.body.classList.remove("dhx_cal_overflow_container");
7646
+ getLightboxRoot().classList.remove("dhx_cal_overflow_container");
7635
7647
  }
7636
7648
  };
7637
7649
  scheduler.hide_cover = function () {
@@ -7644,7 +7656,7 @@ function extend(scheduler) {
7644
7656
  }
7645
7657
  this._cover = document.createElement("div");
7646
7658
  this._cover.className = "dhx_cal_cover";
7647
- document.body.appendChild(this._cover);
7659
+ getLightboxRoot().appendChild(this._cover);
7648
7660
  };
7649
7661
  scheduler.save_lightbox = function () {
7650
7662
  var data = this._lightbox_out({}, this._lame_copy(this.getEvent(this._lightbox_id)));
@@ -7778,14 +7790,14 @@ function extend(scheduler) {
7778
7790
  };
7779
7791
 
7780
7792
  scheduler._init_dnd_events = function () {
7781
- scheduler.event(document.body, "mousemove", scheduler._move_while_dnd);
7782
- scheduler.event(document.body, "mouseup", scheduler._finish_dnd);
7793
+ scheduler.event(getLightboxRoot(), "mousemove", scheduler._move_while_dnd);
7794
+ scheduler.event(getLightboxRoot(), "mouseup", scheduler._finish_dnd);
7783
7795
  scheduler._init_dnd_events = function () {};
7784
7796
  };
7785
7797
  scheduler._move_while_dnd = function (e) {
7786
7798
  if (scheduler._dnd_start_lb) {
7787
7799
  if (!document.dhx_unselectable) {
7788
- document.body.className += " dhx_unselectable";
7800
+ getLightboxRoot().classList.add("dhx_unselectable");
7789
7801
  document.dhx_unselectable = true;
7790
7802
  }
7791
7803
  var lb = scheduler.getLightbox();
@@ -7802,7 +7814,7 @@ function extend(scheduler) {
7802
7814
  scheduler._finish_dnd = function () {
7803
7815
  if (scheduler._lb_start) {
7804
7816
  scheduler._lb_start = scheduler._dnd_start_lb = false;
7805
- document.body.className = document.body.className.replace(" dhx_unselectable", "");
7817
+ getLightboxRoot().classList.remove("dhx_unselectable");
7806
7818
  document.dhx_unselectable = false;
7807
7819
  }
7808
7820
  };
@@ -7841,7 +7853,7 @@ function extend(scheduler) {
7841
7853
  scheduler._init_dnd_events();
7842
7854
  }
7843
7855
  this._waiAria.lightboxAttr(d);
7844
- document.body.insertBefore(d, document.body.firstChild);
7856
+ getLightboxRoot().insertBefore(d, getLightboxRoot().firstChild);
7845
7857
  this._lightbox = d;
7846
7858
  var sns = this.config.lightbox.sections;
7847
7859
  html = "";
@@ -10548,31 +10560,34 @@ function extend(scheduler) {
10548
10560
  };
10549
10561
 
10550
10562
  //non-linear scales
10551
- scheduler._get_real_event_length = function (sd, fd, obj) {
10552
- var ev_length = fd - sd;
10553
- var hours = obj._start_correction + obj._end_correction || 0;
10563
+ scheduler._get_real_event_length = function (startDate, endDate, config) {
10564
+ // config may be a timeline view or a configuration object
10565
+ var eventLength = endDate - startDate;
10566
+
10567
+ // excludedDuration - duration between [00:00, first_hour] and [last_hour, 23:59]
10568
+ var excludedDuration = config._start_correction + config._end_correction || 0;
10554
10569
  var ignore = this["ignore_" + this._mode];
10555
- var start_slot = 0,
10556
- end_slot;
10557
- if (obj.render) {
10558
- start_slot = this._get_date_index(obj, sd);
10559
- end_slot = this._get_date_index(obj, fd);
10570
+ var startColumnIndex = 0,
10571
+ endColumnIndex;
10572
+ if (config.render) {
10573
+ startColumnIndex = this._get_date_index(config, startDate);
10574
+ endColumnIndex = this._get_date_index(config, endDate);
10560
10575
  } else {
10561
- end_slot = Math.round(ev_length / 60 / 60 / 1000 / 24);
10576
+ endColumnIndex = Math.round(eventLength / 60 / 60 / 1000 / 24);
10562
10577
  }
10563
10578
  var last_column = true;
10564
- while (start_slot < end_slot) {
10565
- var check = scheduler.date.add(fd, -obj.x_step, obj.x_unit);
10566
- if (ignore && ignore(fd) && (!last_column || last_column && ignore(check))) {
10567
- ev_length -= fd - check;
10579
+ while (startColumnIndex < endColumnIndex) {
10580
+ var check = scheduler.date.add(endDate, -config.x_step, config.x_unit);
10581
+ if (ignore && ignore(endDate) && (!last_column || last_column && ignore(check))) {
10582
+ eventLength -= endDate - check;
10568
10583
  } else {
10584
+ eventLength -= excludedDuration;
10569
10585
  last_column = false;
10570
- ev_length -= hours;
10571
10586
  }
10572
- fd = check;
10573
- end_slot--;
10587
+ endDate = check;
10588
+ endColumnIndex--;
10574
10589
  }
10575
- return ev_length;
10590
+ return eventLength;
10576
10591
  };
10577
10592
  scheduler._get_fictional_event_length = function (end_date, ev_length, obj, back) {
10578
10593
  var sd = new Date(end_date);
@@ -13081,7 +13096,13 @@ __webpack_require__.r(__webpack_exports__);
13081
13096
  case "dhx_cal_data":
13082
13097
  var mode = scheduler.getState().mode;
13083
13098
  if (checked_div.childNodes[1] && mode != "month") {
13084
- height = checked_div.childNodes[1].offsetHeight;
13099
+ var maxHeight = 0;
13100
+ for (var _i = 0; _i < checked_div.childNodes.length; _i++) {
13101
+ if (checked_div.childNodes[_i].offsetHeight > maxHeight) {
13102
+ maxHeight = checked_div.childNodes[_i].offsetHeight;
13103
+ }
13104
+ }
13105
+ height = maxHeight;
13085
13106
  } else {
13086
13107
  height = Math.max(checked_div.offsetHeight - 1, checked_div.scrollHeight);
13087
13108
  }
@@ -24781,7 +24802,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
24781
24802
 
24782
24803
  /* harmony default export */ __webpack_exports__["default"] = (function (extensionManager) {
24783
24804
  var scheduler = {
24784
- version: "6.0.4"
24805
+ version: "6.0.5"
24785
24806
  };
24786
24807
  Object(_core_common_errors__WEBPACK_IMPORTED_MODULE_2__["default"])(scheduler);
24787
24808
  Object(_core_common__WEBPACK_IMPORTED_MODULE_5__["default"])(scheduler);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dhtmlx-scheduler-skins",
3
- "version": "6.0.4",
3
+ "version": "6.0.5",
4
4
  "description": "Less sources and a build tool for DHTMLXScheduler skins",
5
5
  "scripts": {
6
6
  "build": "npm run build-default && npm run build-flat && npm run build-material && npm run build-terrace && npm run build-contrast_white && npm run build-contrast_black",
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * @license
3
3
  *
4
- * dhtmlxScheduler v.6.0.4 Standard
4
+ * dhtmlxScheduler v.6.0.5 Standard
5
5
  *
6
6
  * 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
7
7
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dhtmlx-scheduler",
3
- "version": "6.0.4",
3
+ "version": "6.0.5",
4
4
  "description": "JavaScript event calendar. Allows to manage events and appointments in different views",
5
5
  "main": "codebase/dhtmlxscheduler.js",
6
6
  "types": "codebase/dhtmlxscheduler.d.ts",
package/whatsnew.md CHANGED
@@ -1,3 +1,9 @@
1
+ ### 6.0.5
2
+
3
+ Fix the issue where the lightbox was not functioning in SalesForce LWC
4
+ Fix for the container_autoresize issue that occurred with ignore_week when the week started on a hidden day
5
+ Updated type definitions to include scheduler.form_blocks
6
+
1
7
  ### 6.0.4
2
8
 
3
9
  Fix the incorrect work of the dataProcessor when an instance of the Recurring series is edited.